@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Italic.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	font-style: italic;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Montserrat', Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
	background-color: #F3F3F3;
	/*overflow-x: hidden;*/
/*	overflow-y: scroll;*/
	width: 100%;
}
.container {
	width: 1200px;
	margin: 0 auto;
/*	height:100%;*/
}

.page{
	position: relative; 
    overflow: hidden;
}

header .container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.header__logo{
	max-width: 210px;
	/*max-height: 40px;*/
	margin: 30px 0;
}

.header__logo img {
	width: 100%
}

.contact__button, .contact__button-bottom{
	transition: color 0.6s ease-in-out;
	background-image: linear-gradient(to right, #EA337C, #003BAB);
	cursor: pointer;
	border-radius: 30px;
	padding: 10px 20px;
	text-decoration: none;
	display: grid;
	grid-template-columns: 0.1fr 2fr;
	place-items: center;
	gap: 10px;
}

.contact__button:hover, .contact__button-bottom:hover {
	background-image: linear-gradient(to left, #EA337C, #003BAB);
}

.contact__button p, .contact__button-bottom p{
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 0.8em;
}

.phone-icon{
	background-image: url('/local/templates/main/images/phone.svg');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	width: 15px;
	height: 15px;
}

.navigation ul, .navigation-footer ul {
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 30px;
}
.navigation ul li, .navigation-footer ul li{
	list-style-type: none;
}
.navigation ul li a, .navigation-footer ul li a{
	text-decoration: none;
	color: #181818;
	text-transform: uppercase;
	font-size: 0.8em;
}
.navigation ul li a, .navigation-footer ul li a{
	text-decoration: none;
	color: #181818;
	text-transform: uppercase;
	font-size: 0.8em;
}



.navigation-mobile{
	display: none;
}
.menu__level-1{
	margin: 0;
}

.selected {
	color: #EA337C!important; 
	font-weight: bold; 
}

.nav .selected-li {
	border-bottom: 2px solid #EA337C!important;
}

.hamburger {
	width: 40px;
	height: 28px;
	position: relative;
	cursor: pointer;
	display: inline-block;
	z-index: 101;
}
.hamburger span {
	background: #181818;
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	left: 0;
	transition: all .3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hamburger span:nth-child(1) {
	top: 0px;
}
.hamburger span:nth-child(2) {
	top: 12px;
}
.hamburger span:nth-child(3) {
	top: 24px;
}

.hamburger.open span:nth-child(1) {
	top: 12px;
	transform: rotate(135deg);
	background: #fff;
}
.hamburger.open span:nth-child(2) {
	opacity: 0;
	left: 100px;
	background: #fff;
}
.hamburger.open span:nth-child(3) {
	top: 12px;
	transform: rotate(-135deg);
	background: #fff;
}

body.overflow-hidden {
  overflow: hidden;
}


.menu-overlay {
	position: absolute;
	left: 0;
    top: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background-color: #C2D4F6;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	z-index: 99;
	text-align: center;
	display: table;
	transition: visibility 0.5s ease, opacity 1s ease;

}

.menu-overlay.open {
	opacity: 1;
	visibility: visible;
}
.nav {
	margin: 20% 0;
	font-size: 2em;
}
.nav a{
	color: #fff;
	text-transform: uppercase;
}
.nav ul {
/*	width: 100%;*/
	display: grid; 
	grid-template-rows: auto;
	align-items: center;
	list-style: none;
	padding: 0;
}

.nav li {
	margin: 20px 0;
	transform: translateY(-40px);
	opacity: 0;
	transition: all 0.4s ease;
}

.open .nav li {
/*	transform: translateY(0);*/
	opacity: 1;
}

.open .nav li:nth-child(1) {
	transition-delay: 100ms;
}
.open .nav li:nth-child(2) {
	transition-delay: 200ms;
}
.open .nav li:nth-child(3) {
	transition-delay: 300ms;
}
.open .nav li:nth-child(4) {
	transition-delay: 400ms;
}

.nav a {
	display: block;
	color: #fff;
	font-size: 32px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.nav a:hover {
	opacity: 0.6;
}



#advantages, #services {
    scroll-margin-top: 100px; 
}

.footer {
    padding: 30px 0; 
    text-align: left; 
}

.navigation-footer {
    flex-grow: 1;
}

.footer-text {
    margin: 0; 
    font-size: 12px;
    color: #003BAB;
}

.container-row {
    display: grid;
   	grid-template-columns: 5fr 3.5fr;
    align-items: center; 
    gap: 10px; 
}

footer .container {
	display: grid;
	grid-template-rows: auto;
	gap: 30px;
}

.contact-container {
        display: flex;
        gap: 8px;
       justify-content: flex-end;
    }

    .contact-item {
        display: flex;
        align-items: center;
        cursor: pointer;
        position: relative;
        width: 45px;
        height: 45px;
        text-decoration: none;
    }
    
    .contact-item .email-icon, .contact-item .phone-icon {
        transition: transform 0.4s ease;
    }
    .contact-item.tel {
        border-radius: 28px;
        overflow: hidden;
        transition: width 0.4s ease, background 0.3s ease;
    }

    .contact-item.email {
        border-radius: 28px;
        overflow: hidden;
        transition: width 0.4s ease, background 0.3s ease;
    }

    .contact-item.tel:hover {
        width: 230px;
        background: #003BAB;
    }

    .contact-item.email:hover {
        width: 220px;
        background: #EA337C;
    }

    .contact-item:hover .email-icon, .contact-item:hover .phone-icon {
        transform: rotate(360deg);
    }

    .phone-icon-svg{
        display: flex;
        align-items: center;
        background-image: linear-gradient(to right, #EA337C, #003BAB);
        padding: 15px;
        border-radius: 50%
    }

    .email-icon-svg{
        display: flex;
        align-items: center;
        background-image: linear-gradient(to left, #EA337C, #003BAB);
        padding: 13px;
        border-radius: 50%
    }
    .email-icon{
        background-image: url(/local/templates/main/images/email.svg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    }

    .contact-text {
        /*opacity: 0;*/
        display: none;
        white-space: nowrap;
        font-size: 18px;
        padding-left: 10px;
        color: #fff;
        text-decoration: none;
        transition: opacity 0.4s ease;
    }

    .contact-item:hover .contact-text {
        /*opacity: 1;*/
        display: block;
    }

    /* Mobile version */
    @media (max-width: 930px) {
        .contact-item {
            width: auto;
            height: auto;
            background: transparent;
        }

        .contact-item:hover {
            width: auto;
        }

        .contact-text {
            display: none; 
        }
        
        .contact-item:hover .contact-text {
        /*opacity: 1;*/
        display: none;
    }
    .contact-item.tel:hover {
        width: auto;
    }

    .contact-item.email:hover {
       width: auto;
    }
    }