:root {

	--header-padding-mobile: 0;
	--header-padding-tablet: 0;
	--header-padding-laptop: 0;
	--header-padding-desktop: 0;
	--header-padding-sm-laptop: 0;

	--header-row-padding-mobile: 0.5em 5%;
	--header-row-padding-tablet: 0.5em 5%;
	--header-row-padding-laptop: 0em 6%;
	--header-row-padding-desktop: 0em 8%;
	--header-row-padding-sm-laptop: 0em 5%;

}

body .site-header {
	top: 0px;
	min-height: 109px;
	display: flex;
	justify-content: center;
	align-items: center;
}

body.logged-in.admin-bar .site-header {
	top: 32px;
}

/*Widget parents rules*/
div.elementor:has(.site-header) > div.elementor-element {
	padding: 0 !important;
}

div.elementor:has(.site-header) > div.elementor-element > div {
	padding: 0 !important;
	max-width: 100% !important;
}

div.elementor-location-header > div.elementor-element,
div.elementor-location-header > div.elementor-element > div {
	padding: 0 !important;
	max-width: 100% !important;
}

/*Widget parents rules*/

.site-header {
	top: 0;
	left: 0;
	z-index: 999;
	display: flex;
	position: fixed;
	align-items: center;
	flex-direction: column;
	max-width: 100% !important;
	justify-content: space-between;
	transition: background-color 0.5s ease-out ;
	background-color: transparent;
	border-radius: 0;
}


.site-header__row {
	gap: 2em;
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
}

.site-header .site-header__row--bottom {
	padding: 0 2em;
	max-width: 1420px;
	transition: padding 1s ease-out, width 0.3s ease-out;
}

.header-row__column {
	display: flex;
	align-items: center;
}



.header-row__column.column-cta {
	justify-content: end;
	gap: 2em;
}

.header-row__column.column-cta a {
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8em;
	letter-spacing: 0.32px;
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	white-space: nowrap;
}

.header-row__column--rows {
	justify-content: center;
	flex-direction: column;
	align-items: flex-start;
}

.header-row__column-row {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.column-logo{
	justify-content: center;
}

.header-row__column.column-logo .header-logo {
	width: 350px;
	height: 90px;
	display: flex;
	position: relative;
	align-items: center;
	transition: all 0.5s ease-out;
}



.header-row__column.column-logo .header-logo img {
	max-width: 100%;
	position: absolute;
	transition: all 0.5s ease-out;
	width: 100%;
	height: 100% !important;
	object-fit: contain;
	object-position: center;
}

/*	burger */
.header-row__column.column-burger {
	width: 48px;
	height: 48px;
	flex: 0 1 48px;
	border-radius: 100%;
	justify-content: center;
	/*background-color: var(--e-global-color-primary);*/
}

.column-burger {
	padding: 0;
	color: var(--e-global-color-primary);
	width: 45px;
	height: 45px;
	border: 0;
}
.column-burger .header-burger {
	transition: transform 600ms;
	display: flex;
	justify-content: center;
	align-items: center;
}
.column-burger .header-burger svg {
	width: 100%;
	height: 100%;
	transform: scaleX(-1);
}
.column-burger .header-burger .line {
	transition: all 0.6s;
	stroke-width: 2;
	stroke: #fff;
}
.column-burger .header-burger #line-top {
	stroke-dasharray: 22 139;
	stroke-dashoffset: -0.5;
}
.column-burger .header-burger #line-bottom {
	stroke-dasharray: 22 139;
	stroke-dashoffset: -2;

}
.column-burger .header-burger #line-middle {
	transform-origin: 25% -13%;
	stroke-dasharray: 23 139;
	stroke-dashoffset: 1;
}
.column-burger .header-burger.is-active {
	transform: rotate(0.375turn);
}

.column-burger .header-burger.is-active #line-top {
	stroke-dashoffset: -41;
	stroke-dasharray: 18 138;
}
.column-burger .header-burger.is-active #line-bottom {
	stroke-dashoffset: -63;
}
.column-burger .header-burger.is-active #line-middle {
	transform: rotate(90deg) translate(-1px, 1px);
	stroke-dasharray: 18 138;
	stroke-dashoffset: -2;
}

/**
 * Animations scroll
 */

body .site-header:not(.dynamic-header){
	left: 50%;
	transform: translate(calc(-50%), 0px);
	margin: 0;
	transition: all .6s ease-out;
	width: 100vw;
	padding: 0;
}

body.menu-opened .site-header:not(.dynamic-header).scrolled{
	transform: translate(-50%, 0px);
}

.site-header.scrolled{
	width: 70%;
	min-width: fit-content;
	max-width: 1200px!important;
	border-radius: 50px;
	padding: 0 10px;
	margin: 0;
	min-height: 0;
	height: fit-content;
	backdrop-filter: blur(26px);
	transform: translate(-50%, 10px);
	background: rgba(0, 0, 0, 0.75);
}

body:not(.menu-opened) .site-header.scrolled .site-header__row--bottom{
	padding: 0;
}

@keyframes top {
	0% {
		top: 0;
	}
	60% {
		top: 45.8333333333%;
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(45deg);
	}
}

@keyframes bottom {
	0% {
		bottom: 0;
	}
	60% {
		bottom: 45.8333333333%;
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-45deg);
	}
}

@keyframes topreverse {
	0% {
		transform: rotate(45deg);
		top: 45.8333333333%;
	}
	60% {
		transform: rotate(0deg);
		top: 45.8333333333%;
	}
	100% {
		top: 0;
	}
}

@keyframes bottomreverse {
	0% {
		transform: rotate(-45deg);
		bottom: 45.8333333333%;
	}
	60% {
		transform: rotate(0deg);
		bottom: 45.8333333333%;
	}
	100% {
		bottom: 0;
	}
}

.Cta-mobile__row{
	display: none;
	width: 100%;
	height: 80px;
	background-color:#000;
	align-items: center;
	justify-content: space-around;
}
.scrolled ~ .site-header__cta-mobile .Cta-mobile__row{
	display: flex;
}
.site-header__cta-mobile	{
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 10;
	text-align: center;
	align-content: center;
}
.cta03-contact{
	border-radius: 50px;
	background: var(--Linear, linear-gradient(90deg, #9A3396 0%, #FF387C 51.3%, #FF9135 100%));
	color: #FFF;
	text-align: center;
	font-family: Nunito;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	padding:15px;
	height: 50px;
}
.cta03-contact:hover{
	color:white;
}
.header03-mobile{
	color: #FFF;
	text-align: center;
	font-family: Nunito;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 12px 30px;
	cursor: pointer;
	border: none;
	background-color: transparent;
	border-radius: 200px;
	z-index: 1;
	min-width: 122px;
	height: 50px;
}
.header03-mobile:hover{
	color: white;
}
.header03-mobile::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 200px;
	padding: 3px;
	background: linear-gradient(45deg, #9A3396 50%, #FF387C 75%, #FF9135 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	background-size: 100% 250%;
	background-position: 0 0;
	transition: all 0.3s ease-in-out;
	z-index: -1;
}
body.no-scroll {
	overflow: hidden;
	width: 100%;
}


/*RESPONSIVE*/

/*phone*/
@media (max-width: 767px) {

	.hide-mobile {
		display: none !important;
	}

	.site-header {
		padding: var(--header-padding-mobile);
	}

	.site-menu__primary li a,
	.site-header__row {
		padding: var(--header-row-padding-mobile);
	}

	.header-row__column.column-logo {
		max-width: 150px;
	}

}

/*tablet*/
@media (min-width: 768px) and (max-width: 1024px) {

	.hide-tablet {
		display: none !important;
	}

	.site-header {
		padding: var(--header-padding-tablet);
	}

	.header-row__column.column-logo {
		max-width: 190px;
	}

	.site-menu__primary li a ,
	.site-header__row {
		padding: var(--header-row-padding-tablet);
	}

}

/*mobile and tablet*/
@media (max-width: 1024px) {
	body .site-header{
		top: 0;
		min-height: 70px;
	}

	.header-row__column {
		flex: 1 1 0;
	}

	.header-row__column.column-logo .header-logo{
		width: 181px;
		height: 66px;
	}

	.site-header .site-header__row--top {
		padding-left: 0!important;
		padding-right: 0!important;
		transition: transform 0.6s ease-out;
	}

	.site-header .site-header__row--top {
		z-index: 100;
		transition: all 0.6s ease-out;
	}

	.menu-opened .site-header .site-header__row--top{
		transform: translateY(-100%);
	}

	.site-header .site-header__row--bottom {
		width: calc(100vw - (2 * 20px));
	}

	body .site-header:not(.dynamic-header).scrolled{
		margin-top: 10px;
	}

	body .site-header.scrolled .site-header__row--bottom {
		padding: 0 29px!important;
	}

	body.menu-opened .site-header .site-header__row--bottom{
		width: 100vw;
	}

	body:not(.menu-opened) .site-header:not(.dynamic-header).scrolled{
		width: calc(100vw - (2 * 20px));
		transform: translate(-50%, 10px);

	}
	body:not(.menu-opened) .site-header.scrolled .site-header__row--bottom {
		width: calc(100vw - (2 * 20px));
	}

	.menu-opened .site-header .site-header__row--bottom {
		width: calc(100vw - 40px);
		border-radius: 0;
		transform: translateY(0);
	}


	.header-row__column.column-logo,
	.header-row__column.column-burger {
		z-index: 999;
	}

	.header-row__column--rows {
		justify-content: flex-start;
	}

	.header-row__column.column-menu {
		top: -80px;
		gap: 1em;
		opacity: 0;
		z-index: 100;
		pointer-events: none;
		display: flex;
		position: fixed;
		visibility: hidden;
		flex-direction: column;
		align-items: flex-start;
		align-content: flex-start;
		transition: 0.6s ease all;
		background-color: #000;
		height: 0;
		border-radius: 0;
		width: 100%;
		right: unset;
		left: 0;
		overflow: hidden !important;

    }

    .header-row__column.column-menu.is-opened {
        opacity: 1;
        pointer-events: all;
        visibility: visible;
        /*transform: translateY(0);*/
		height: 120vh;
    }
	.site-header.scrolled .header-row__column.column-menu{
		top: -10px;
	}

    .header-row__column.column-menu .column-menu_content > * {
        width: fit-content;
    }

    .header-row__column.column-menu > .column-menu_content {
        margin-left: auto;
        margin-right: auto;
        position: relative;
    }

    .column-logo img {
        height: auto;
        max-width: 100%;
    }

    .header-row__column-row {
        gap: 1em;
        align-items: flex-start;
        flex-direction: column;
    }

    .site-header .site-menu__primary {
        width: 100%;
        overflow-y: auto;
    }


}


/*desktop*/
@media (min-width: 1025px) {

	.hide-desktop {
		display: none !important;
	}

	body .site-header{
		width: 100%;
		top: 0;
		transition: all 1.5s ease-in;
	}

	body .site-header:not(.dynamic-header){
		transition: all .6s ease-in;
	}

	body .site-header.scrolled{
		top: 10px !important;
		transition: all 1s ease-out;
	}

	body.logged-in.admin-bar .site-header.scrolled {
		top: 42px !important;
	}

	.site-header {
		padding: var(--header-padding-desktop);
	}

	body:not(.menu-opened) .site-header .site-header__row--bottom{

	}

	body:not(.menu-opened) .site-header.scrolled .site-header__row--bottom{
		padding: 10px 30px;
		transition: .5s ease-out;
	}

	@keyframes stickySlideDown {
		0% {
			opacity: 0.7;
			transform: translateY(-100%);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.header-row__column {
		width: 33%;
	}

	.site-header.scrolled .header-logo {
		width: 250px;
		height: 50px;
	}
}

/*laptop 1*/
@media (min-width: 1025px) and (max-width: 1439px) {

	.site-header {
		padding: var(--header-padding-sm-laptop);
	}


	.header-row__column.column-cta a {
		font-size: 0.95rem;
	}

	.header-row__column.column-cta {
		height: 70px;
	}

}

/*laptop 2*/
@media (min-width: 1440px) and (max-width: 1700px) {

	.site-header {
		padding: var(--header-padding-laptop);
	}

	.header-row__column.column-logo .header-logo {
		max-width: 300px;
	}

	.header-row__column.column-cta a {
		font-size: 1rem;
	}

}

/*RESPONSIVE*/
