.site-banner {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	padding: 50px 0px 50px;
	background: center/cover no-repeat;
	overflow: hidden;
}

.site-banner .container {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-flow: row wrap;
	   -moz-box-orient: horizontal;
	   -moz-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	   -moz-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	font-size: var(--text-md);
	letter-spacing: -0.01em;
}

.content-banner .whbutton-wrapper {
	--padding-button: 14px 35.5px;
}

.content-banner .whbutton-wrapper .label-cta {
	font-size: var(--text-lg);
}

.site-banner.blue-gradient {
	background-image: url(/wp-content/uploads/2024/11/background-gradient-blue.png)
}

.site-banner.blue-gradient h1 {
	color: var(--blue);
}

.site-banner:not(.blue-gradient):not(.green-gradient) {
	background-color: var(--blue);
}

/* banner size large */
.site-banner.banner-size-large {
	--width-media-banner: 416px;
	--height-media-banner: 541px;
	--rounded-media: 79px;
	--max-content-banner: -webkit-calc(480px + 100px);
	--max-content-banner: -moz-calc(480px + 100px);
	--max-content-banner: calc(480px + 100px);
	--gap-title-banner: 40px;
	--gap-top-banner: 202px;
	--gap-bottom-banner: 107px;
	--padding-left-content: 46px;
	--padding-right-content: 65px;
	--min-height-banner: 850px;
	--gap-extra-button-left: 292px;
}

.site-banner.banner-size-large .container {
	padding-left: var(--padding-left-content);
	padding-right: var(--padding-right-content);
}

.site-banner.banner-size-large .content-banner {
	max-width: var(--max-content-banner);
}

.site-banner.banner-size-large h1 {
	margin-bottom: var(--gap-title-banner);
}

.site-banner.banner-size-large .media-banner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-flex-basis: var(--width-media-banner);
	    -ms-flex-preferred-size: var(--width-media-banner);
	        flex-basis: var(--width-media-banner);
}

.site-banner.banner-size-large .media-banner:before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 351.64px;
	height: 351.64px;
	top: 68.2px;
	left: -150px;
	background: url(/wp-content/themes/whello/assets/images/pattern-media-banner.svg) center left/contain no-repeat;
}

.site-banner .extra-button-banner {
	--text-xl: 26px;
	display: inline-block;
}

.site-banner .extra-button-banner a {
	display: inline-block;
	font-family: var(--fontfamily-satoshi);
	padding: var(--padding-button);
	font-size: var(--text-xl);
	-webkit-border-radius: var(--rounded-full);
	   -moz-border-radius: var(--rounded-full);
	        border-radius: var(--rounded-full);
	letter-spacing: -0.05em;
	line-height: 120%;
	font-weight: 500;
}

.site-banenr .extra-button-banner > div,
.site-banner .extra-button-banner a {
	--duration: .6s;
	position: relative;
	-webkit-transition: all var(--duration);
	-o-transition: all var(--duration);
	-moz-transition: all var(--duration);
	transition: all var(--duration);
}

.site-banner .extra-button-banner a:before,
.site-banner .btn-extra-green:after {
	--duration: .6s;
	position: absolute;
	content: '';
	display: inline-block;
	-webkit-transition: var(--duration);
	-o-transition: var(--duration);
	-moz-transition: var(--duration);
	transition: var(--duration);
}

.site-banner .extra-button-banner span,
.site-banner .extra-button-banner a:before {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: var(--duration);
	-o-transition: var(--duration);
	-moz-transition: var(--duration);
	transition: var(--duration);
}

.site-banner .extra-button-banner span {
	--text-xl: 24px;
	font-weight: 900;
	font-family: var(--fontfamily-satoshi);
	font-size: var(--text-xl);
	position: absolute;
	display: inline-block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	height: auto;
}

.site-banner .extra-button-banner a:hover:before,
.site-banner .extra-button-banner a:hover+span {
	opacity: 1;
	visibility: visible;
}

.site-banner .btn-extra-blue {
	color: var(--blue);
	background-color: var(--baby-blue);
}

.site-banner .btn-extra-blue:hover {
	color: var(--baby-blue);
	background-color: var(--blue);
}

.site-banner .btn-extra-blue:before {
	background: url(/wp-content/themes/whello/assets/images/arrow-lilac-small.svg) center/contain no-repeat;
}

.site-banner .btn-extra-green:before {
	background: url(/wp-content/themes/whello/assets/images/arrow-green-small.svg) center/contain no-repeat;
}

.site-banner .btn-extra-green {
	color: var(--blue);
	background-color: var(--cream);
}

.site-banner .btn-extra-green:hover {
	color: var(--green);
}

.site-banner .btn-extra-blue-wrapper span {
	color: var(--lilac);
}

.site-banner .btn-extra-green-wrapper span {
	color: var(--green);
}

.site-banner .extra-button-banner .btn-extra-green {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	   -moz-box-orient: horizontal;
	   -moz-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}

.site-banner .btn-extra-green:after {
	position: relative;
	width: 25.36px;
	height: 25.36px;
	margin-right: 8px;
	background: url(/wp-content/themes/whello/assets/images/icon-map-blue-extra.svg) center/contain no-repeat;
}

.site-banner .btn-extra-green:hover:after {
	background-image: url(/wp-content/themes/whello/assets/images/icon-map-green-extra.svg);
}

@media all and (min-width: 901px) {
	.site-banner.banner-size-large {
		padding-top: var(--gap-top-banner);
		padding-bottom: var(--gap-bottom-banner);
		min-height: var(--min-height-banner);
	}

	.site-banner.banner-size-large .media-banner .thumbnail-banner {
		height: var(--height-media-banner);
		-webkit-border-radius: var(--rounded-media);
		   -moz-border-radius: var(--rounded-media);
		        border-radius: var(--rounded-media);
		overflow: hidden;
	}

	.site-banner.banner-size-large .content-banner {
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		   -moz-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
	}

	.site-banner .btn-extra-blue-wrapper {
		-webkit-transform: rotate(-7.49deg) translateX(33px);
		   -moz-transform: rotate(-7.49deg) translateX(33px);
		    -ms-transform: rotate(-7.49deg) translateX(33px);
		     -o-transform: rotate(-7.49deg) translateX(33px);
		        transform: rotate(-7.49deg) translateX(33px);
		margin-bottom: 22px;
	}

	.site-banner .btn-extra-green-wrapper {
		-webkit-transform: rotate(10.98deg) translateX(93px);
		   -moz-transform: rotate(10.98deg) translateX(93px);
		    -ms-transform: rotate(10.98deg) translateX(93px);
		     -o-transform: rotate(10.98deg) translateX(93px);
		        transform: rotate(10.98deg) translateX(93px);
	}

	.site-banner .extra-button-banner {
		position: absolute;
		bottom: 40.62px;
		left: var(--gap-extra-button-left);
	}

	.site-banner.banner-size-large .content-banner {
		padding-left: 100px;
	}

	.content-banner .button-group-banner {
		margin-top: 51px;
	}

	.site-banner .btn-extra-blue-wrapper span {
		top: 28px;
		left: -99px;
		-webkit-transform: rotate(31deg);
		   -moz-transform: rotate(31deg);
		    -ms-transform: rotate(31deg);
		     -o-transform: rotate(31deg);
		        transform: rotate(31deg);
	}

	.site-banner .btn-extra-green-wrapper span {
		top: 54px;
		right: -68px;
		-webkit-transform: rotate(-23deg);
		   -moz-transform: rotate(-23deg);
		    -ms-transform: rotate(-23deg);
		     -o-transform: rotate(-23deg);
		        transform: rotate(-23deg);
	}

	.site-banner .btn-extra-blue:before {
		top: 0;
		left: -30px;
		width: 37px;
		height: 23px;
		-webkit-transform: translate(-16px, 15px);
		   -moz-transform: translate(-16px, 15px);
		    -ms-transform: translate(-16px, 15px);
		     -o-transform: translate(-16px, 15px);
		        transform: translate(-16px, 15px);
	}

	.site-banner .btn-extra-green:before {
		top: 8px;
		right: -50px;
		width: 23px;
		height: 35px;
		-webkit-transform: translate(-16px, 15px);
		   -moz-transform: translate(-16px, 15px);
		    -ms-transform: translate(-16px, 15px);
		     -o-transform: translate(-16px, 15px);
		        transform: translate(-16px, 15px);
	}
}

@media all and (max-width: 1199px) {
	.site-banner.banner-size-large {
		--padding-left-content: 0px;
    	--padding-right-content: 0px;
		--min-height-banner: 100%;
		--max-content-banner: 100%;
	}
}

@media all and (min-width: 901px) and (max-width: 1199px) {
	.site-banner.banner-size-large {
		--gap-top-banner: 107px;
	}
}

@media all and (min-width: 901px) and (max-width: 1024px) {
	.site-banner.banner-size-large {
		--width-media-banner: 360px;
		--gap-extra-button-left: 200px;
		--rounded-media: 59px;
	}
}

@media all and (max-width: 900px) {
	.site-banner.banner-size-large {
		background-image: var(--media-banner);
		min-height: -webkit-calc(70vh - var(--height-header));
		min-height: -moz-calc(70vh - var(--height-header));
		min-height: calc(70vh - var(--height-header));
	}

	.site-banner.banner-size-large .media-banner {
		display: none;
	}

	.site-banner.banner-size-large:before {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: inline-block;
		background: rgba(0,0,0,0.3);
	}

	.site-banner.site-banner.banner-size-large .container {
		z-index: 2;
	}

	.site-banner.site-banner.banner-size-large .extra-button-banner {
		margin-top: 17px;
	}

	.site-banner.site-banner.banner-size-large .content-banner,
	.site-banner.site-banner.banner-size-large .content-banner h1 {
		color: var(--white);
		text-align: center;
	}

	.site-banner.site-banner.banner-size-large .content-banner h1 {
		max-width: 96%;
		margin-left: auto;
		margin-right: auto;
	}

	.site-banner.site-banner.banner-size-large .content-banner {
		--text-base: 16px;
		font-size: var(--text-base);
		line-height: 140%;
		font-weight: 500;
	}

	.content-banner .button-group-banner {
		margin-top: 38px;
	}

	.site-banner .extra-button-banner a {
		--text-xl: 21.9px;
		--padding-button: 11.7px 15.5px;
	}

	.site-banner .extra-button-banner {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: row-reverse;
		   -moz-box-orient: horizontal;
		   -moz-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin-left: auto;
		margin-right: auto;
	}

	.site-banner .btn-extra-blue-wrapper {
		margin-left: 12.45px;
	}

	.site-banner .btn-extra-green-wrapper {
		-webkit-transform: rotate(5.09deg);
		   -moz-transform: rotate(5.09deg);
		    -ms-transform: rotate(5.09deg);
		     -o-transform: rotate(5.09deg);
		        transform: rotate(5.09deg);
	}

	.site-banner .btn-extra-blue-wrapper {
		-webkit-transform: rotate(-7.49deg);
		   -moz-transform: rotate(-7.49deg);
		    -ms-transform: rotate(-7.49deg);
		     -o-transform: rotate(-7.49deg);
		        transform: rotate(-7.49deg);
	}

	.site-banner .extra-button-banner span {
		--text-xl: 16px;
	}

	.site-banner .btn-extra-blue-wrapper span {
		top: 57px;
        right: -22px;
        -webkit-transform: rotate(-12deg);
           -moz-transform: rotate(-12deg);
            -ms-transform: rotate(-12deg);
             -o-transform: rotate(-12deg);
                transform: rotate(-12deg);
	}

	.site-banner .btn-extra-green-wrapper span {
		top: 60px;
        right: 30px;
        -webkit-transform: rotate(-1deg);
           -moz-transform: rotate(-1deg);
            -ms-transform: rotate(-1deg);
             -o-transform: rotate(-1deg);
                transform: rotate(-1deg);
	}

	.site-banner .btn-extra-blue:before {
		top: 0;
		right: -26px;
		width: 29px;
		height: 19px;
		-webkit-transform: translate(4px, 21px) scaleX(-1) rotate(-45deg);
		   -moz-transform: translate(4px, 21px) scaleX(-1) rotate(-45deg);
		    -ms-transform: translate(4px, 21px) scaleX(-1) rotate(-45deg);
		     -o-transform: translate(4px, 21px) scaleX(-1) rotate(-45deg);
		        transform: translate(4px, 21px) scaleX(-1) rotate(-45deg);
	}

	.site-banner .btn-extra-green:before {
		top: 36px;
        left: 50px;
        width: 23px;
        height: 35px;
        -webkit-transform: translate(-16px, 15px) rotate(145deg);
           -moz-transform: translate(-16px, 15px) rotate(145deg);
            -ms-transform: translate(-16px, 15px) rotate(145deg);
             -o-transform: translate(-16px, 15px) rotate(145deg);
                transform: translate(-16px, 15px) rotate(145deg);
	}
}

@media all and (min-width: 601px) and (max-width: 900px) {
	.site-banner.banner-size-large {
		--text-6xl: 64px;
	}
}