@font-face{
	font-family: "Golos Regular";
	src: url("Golos.ttf");
}
@font-face{
	font-family: "Inter Regular";
	src: url("Inter.ttf");
}
*{
	transition: .5s ease;
	font-family: "Inter Regular";
}
body{
	margin: 0;
	padding: 0;
	background: #FAFAFA;
}
#wrapper{
	margin: 0;
	padding: 0;
}
#modal-success{
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.modal-hide{
	visibility: hidden;
	opacity: 0;
}
#modal-success .cover{
	position: absolute;
	width: 100vw;
	height: 100vh;
	background: black;
	opacity: .4;
}
#modal-success .modal-body{
	display: flex;
	align-items: center;
	gap: 5vw;
	position: relative;
	padding: 3.5vw;
	border-radius: 1.25vw;
	background: #168BF8;
}
#modal-success .modal-body .modal-body-details{
	display: flex;
	flex-direction: column;
	gap: 0.8vw;
}
#modal-success .modal-body .modal-body-details img{
	width: 3.6vw;
}
#modal-success .modal-body .modal-body-details strong{
	font-size: 1.6vw;
	color: white;
}
#modal-success .modal-body .modal-success-img{
	height: 11.5vw;
}
#modal-success .modal-body .dismiss{
	position: absolute;
	right: 1.5vw;
	top: 1.5vw;
	background: none;
	border: none;
	font-size: 1.5vw;
	color: white;
	cursor: pointer;
	width: 1.5vw;
	height: 1.5vw;
}
#home{
	width: calc(100vw - 8vw);
	height: fit-content;
	background: black;
	display: flex;
	flex-direction: column;
	padding: 2vw 4vw;
	background: black;
	position: relative;
}
#home .home-cover{
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 67vw;
	background: black;
}
#home .home-cover img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .5;
}
#home nav{
	display: flex;
	width: calc(91.5vw - 0.8vw);
	height: calc(3.8vw - 0.8vw);
	padding: 0.4vw;
	padding-left: 1.25vw;
	margin: 0 auto;
	position: relative;
	background: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(12px);
	border-radius: 1.25vw;
}
#home nav .navbar-menu{
	display: flex;
	gap: 2.5vw;
	margin-left: auto;
	height: 100%;
	align-items: center;
	justify-content: center;
}
#home nav .navbar-menu a{
	text-decoration: none;
	color: white;
}
#home nav .navbar-menu a:hover{
	text-decoration: underline;
}
#home nav .navbar-trailing{
	margin-left: auto;
	display: flex;
	gap: 1.25vw;
}
#home nav .navbar-trailing .selector-display-language{
	padding: 0 1.25vw;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.8vw;
	border: 1px solid white;
	color: white;
	gap: 0.4vw;
	cursor: pointer;
}
#home nav .navbar-trailing .selector-display-language:hover{
	opacity: .8;
}
#home nav .navbar-trailing .selector-display-language img{
	width: 1vw;
	height: 1vw;
	aspect-ratio: 1/1;
	object-fit: contain;
}
#home nav .navbar-trailing .language-selector-option{
	margin-top: .4vw;
	padding: 1vw 1.25vw;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.8vw;
	border: 1px solid white;
	color: white;
	gap: 0.4vw;
	cursor: pointer;
}
#home nav .navbar-trailing .language-selector-option:hover{
	background: white;
	color: black;
}
#home nav .navbar-trailing .language-selector-option img{
	width: 1vw;
	height: 1vw;
	aspect-ratio: 1/1;
	object-fit: contain;
}
#home nav .navbar-trailing .language-hide{
	visibility: hidden;
	opacity: 0;
}
#home nav .navbar-trailing button{
	border-radius: 0.8vw;
	color: white;
	background: #FF871B;
	border: none;
	padding: 0 2vw;
	cursor: pointer;
	font-size: 0.9vw;
}
#home nav .navbar-trailing button:hover{
	background: #d46f15;
}
#home .home-greeting{
	margin-top: 8vw;
	display: flex;
	flex-direction: column;
	position: relative;
	width: 40vw;
}
#home .home-greeting h1{
	font-size: 4vw;
	color: white;
	margin: 0;
}
#home .home-greeting p{
	margin: 0;
	margin-top: 1.25vw;
	color: white;
	font-size: 1vw;
	line-height: 1.45vw;
}
#home .home-greeting .home-greeting-button{
	margin-top: calc(3.1vw - 0.4vw);
	width: calc(18.75vw - 0.4vw);
	padding: 0.2vw;
	height: 4vw;
	border-radius: 1vw;
	border: 2px solid #FFFFFF;
}
#home .home-greeting .home-greeting-button button{
	width: 100%;
	height: 100%;
	border-radius: 0.8vw;
	border: none;
	font-size: 1vw;
	font-weight: bold;
	color: #05173F;
	cursor: pointer;
}
#home .home-contact-form{
	position: relative;
	margin-top: 7.5vw;
	padding: 2vw 3.15vw;
	display: grid;
	grid-template-columns: 1fr 2fr;
	background: #168BF8;
	border-radius: 1.6vw;
}
#home .home-contact-form .contact-meta{
	color: white;
	display: flex;
	flex-direction: column;
	gap: 0.4vw;
}
#home .home-contact-form .contact-meta h1{
	font-size: 2vw;
	margin: 0;
}
#home .home-contact-form .contact-meta small{
	font-size: 1vw;
}
#home .home-contact-form form{
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 0.8vw;
}
#home .home-contact-form form input{
	font-size: 0.9vw;
	padding: 0.8vw;
	border-radius: 0.8vw;
	border: 1px solid transparent;
	background: #0975DA;
	color: white;
}
#home .home-contact-form form input:focus{
	outline: none;
	border-color: white;
}
#home .home-contact-form form button{
	width: 12vw;
	font-size: 0.9vw;
	padding: 0.8vw 0;
	border-radius: 0.8vw;
	border: none;
	background: #4FB2FF;
	color: white;
	cursor: pointer;
}
#home .home-contact-form form button:hover{
	background: #6ebfff;
}

#about{
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2vw 4vw;
}
#about .about-banner{
	padding: 1.25vw;
	background: linear-gradient(117deg, #0A76BF 7.93%, #1274B6 124.38%);
	color: white;
	border-radius: 1.6vw;
	display: flex;
	flex-direction: column;
}
#about .about-banner .banner-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 2.75vw;
	margin-bottom: 0;
	padding-bottom: 2.5vw;
	border-bottom: 1px solid #4496ce;
}
#about .about-banner .banner-header h1{
	font-size: 2vw;
	margin: 0;
}
#about .about-banner .banner-header button{
	background: #FF7900;
	color: white;
	font-size: 0.9vw;
	padding: 0.8vw 2vw;
	border-radius: 0.8vw;
	border: none;
	cursor: pointer;
}
#about .about-banner .banner-header button:hover i{
	transform: translateX(3px);
}
#about .about-banner .banner-meta{
	margin: 0 2.75vw;
	padding: 2.5vw 0 3.3vw 0;
	width: 50%;
}
#about .about-banner .banner-meta span{
	line-height: 1.45vw;
}
#about .about-banner .banner-gallery{
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-column-gap: 0.8vw;
}
#about .about-banner .banner-gallery .gallery-prime{
	width: 100%;
	height: 30vw;
	border-radius: 0.8vw;
	overflow: hidden;
	position: relative;
}
#about .about-banner .banner-gallery .gallery-prime img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#about .about-banner .banner-gallery .gallery-prime a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4vw;
	position: absolute;
	left: 2vw;
	bottom: 2vw;
	width: 9.2vw;
	height: 9.2vw;
	border-radius: 100px;
	background: #FF7900;
	text-decoration: none;
	color: white;
	font-size: 0.9vw;
}
#about .about-banner .banner-gallery .gallery-prime a:hover i{
	transform: translate(3px, -3px);
}
#about .about-banner .banner-gallery .gallery-tiles{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background: conic-gradient(from 180deg at 50% 49.48%, #1890FF 0deg, #0874D9 360deg);
	border-radius: 0.8vw;
	position: relative;
}
#about .about-banner .banner-gallery .gallery-tiles img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#about .about-banner .banner-gallery .tiles-tile{
	display: flex;
	flex-direction: column;
	padding: 0 2vw;
	justify-content: center;
	text-align: right;
}
#about .about-banner .banner-gallery .tiles-tile-alt{
	text-align: left;
}
#about .about-banner .banner-gallery .tiles-tile h1{
	margin: 0;
	font-size: 3.3vw;
}
#about .about-banner .banner-gallery .tiles-tile small{
	font-size: 1vw;
}

#containers{
	display: flex;
	flex-direction: column;
	padding: 2vw 4vw;
}
#containers-mobile{
	display: none;
}
#containers .containers-wrapper{
	background: white;
	display: flex;
	flex-direction: column;
	padding: 2vw;
	border-radius: 1.6vw;
}
#containers .containers-wrapper h1{
	margin: 0;
	margin-top: 1.25vw;
	text-align: center;
}
#containers .slider{
	margin-top: 2vw;
	width: 88vw;
	position: relative;
	overflow: hidden;
}
#containers .slider .slider-tape{
	height: 20.5vw;
	display: flex;
	gap: 0 10.75vw;
	position: relative;
}
#containers .slider .slider-tape .tape-component{
	width: 14.5vw;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 99;
	flex-shrink: 0;
}
#containers .slider .slider-tape .tape-component img{
	width: 11.5vw;
	height: 100%;
	object-fit: contain;
}
#containers .slider .slider-tape .tape-component-main{
	width: 37.5vw;
}
#containers .slider .slider-tape .tape-component-main img{
	width: 100%;
}
#containers .slider .slider-controlls{
	position: absolute;
	top: 0;
	left: 0;
	width: 88vw;
	height: 20.5vw;
	z-index: 9;
}
#containers .slider .slider-controlls .controlls-frame{
	width: 59vw;
	height: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#containers .slider .slider-controlls .controlls-frame button{
	display: flex;
	width: 3.75vw;
	height: 3.75vw;
	align-items: center;
	justify-content: center;
	font-size: 1vw;
	border: 1px solid #9AC7FF;
	color: #9AC7FF;
	border-radius: 0.8vw;
	background: transparent;
	cursor: pointer;
	margin: 0 2vw;
}
#containers .slider .slider-controlls .controlls-frame button:first-child:hover i{
	transform: translate(-3px);
}
#containers .slider .slider-controlls .controlls-frame button:last-child:hover i{
	transform: translate(3px);
}
#containers .slider-pagination{
	margin-top: 2vw;
	display: flex;
	justify-content: center;
	gap: 0.625vw;
}
#containers .slider-pagination label{
	display: flex;
	padding: 0.8vw 1.25vw;
	font-size: 1vw;
	border: 1px solid #CFD0D3;
	border-radius: 0.8vw;
	cursor: pointer;
}
#containers .slider-pagination label:hover{
	background: #0574FE;
	border-color: #0574FE;
	color: white;
}
#containers .slider-pagination .active-page{
	background: #0574FE;
	border-color: #0574FE;
	color: white;
}

#services{
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2vw 4vw;
}
#services .services-banner{
	padding: 1.25vw;
	background: linear-gradient(117deg, #0A76BF 7.93%, #1274B6 124.38%);
	color: white;
	border-radius: 1.6vw;
	display: flex;
	flex-direction: column;
}
#services .services-banner h1{
	font-size: 2vw;
	margin: 2.75vw;
	margin-bottom: 0;
	padding-bottom: 2.5vw;
	border-bottom: 1px solid #4496ce;
}
#services .services-banner .banner-meta{
	margin: 0 2.75vw;
	margin-top: 2.5vw;
}
#services .services-banner .banner-meta span{
	font-size: 1vw;
	line-height: 1.45vw;
}
#services .services-cards{
	margin-top: 2.5vw;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 0.8vw;
}
#services .services-cards .service-card{
	display: flex;
	flex-direction: column;
	background: #1D81C4;
	border-radius: 1.25vw;
	padding: 1.25vw;
}
#services .services-cards .service-card img{
	width: 10vw;
	height: 10vw;
	object-fit: contain;
	margin: calc(5.2vw - 2.5vw) auto;
}
#services .services-cards .service-card strong{
	margin-top: 1.25vw;
	font-size: 1.25vw;
}
#services .services-cards .service-card small{
	margin-top: 0.8vw;
	font-size: 0.9vw;
	color: #95CBEF;
}
#services .services-cards .service-card-alt{
	padding: 0;
	position: relative;
	overflow: hidden;
}
#services .services-cards .service-card-alt img{
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	object-fit: cover;
}
#services .services-cards .service-card-alt button{
	margin: 1.25vw;
	margin-top: auto;
	position: relative;
	font-size: 0.9vw;
	padding: 0.8vw;
	border-radius: 0.8vw;
	border: none;
	cursor: pointer;
}
#services .services-cards .service-card-alt button small{
	font-size: small;
	color: black;
}
#services .services-cards .service-card-alt button:hover small{
	transform: translate(-3px);
}

#video{
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2vw 4vw;
}
#video .video-banner{
	padding: 1.25vw;
	background: white;
	border-radius: 1.6vw;
	display: flex;
	flex-direction: column;
}
#video .video-banner h1{
	font-size: 2vw;
	margin: 2.75vw;
	margin-bottom: 0;
	padding-bottom: 2vw;
	border-bottom: 1px solid #d6d6d7;
}
#video .video-banner .video-wrapper{
	margin-top: 2vw;
	height: 35.5vw;
	background: black;
	border-radius: 0.8vw;
	overflow: hidden;
}
#video .video-banner .video-wrapper iframe{
	width: 100%;
	height: 100%;
}

#gallery{
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2vw 4vw;
}
#gallery .gallery-banner{
	padding: 1.25vw;
	background: white;
	border-radius: 1.6vw;
	display: flex;
	flex-direction: column;
}
#gallery .gallery-banner .banner-header{
	margin: 2.75vw;
	margin-bottom: 0;
	padding-bottom: 2vw;
	border-bottom: 1px solid #d6d6d7;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#gallery .gallery-banner .banner-header h1{
	font-size: 2vw;
}
#gallery .gallery-banner .banner-header button{
	background: #FF7900;
	color: white;
	font-size: 0.9vw;
	padding: 0.8vw 2vw;
	border-radius: 0.8vw;
	border: none;
	cursor: pointer;
}
#gallery .gallery-banner .banner-header button:hover i{
	transform: translateX(3px);
}
#gallery .banner-grid{
	margin-top: 2vw;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 0.8vw;
}
#gallery .banner-grid .grid-side{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 0.8vw;
	grid-row-gap: 0.8vw;
}
#gallery .banner-grid .grid-side img{
	width: 100%;
	border-radius: 0.8vw;
	height: 12vw;
	object-fit: cover;
}
#gallery .banner-grid .grid-side img:first-child{
	grid-column: span 2;
	height: 25vw;
}
#gallery .banner-grid .grid-side-alt img:first-child{
	grid-column: span 1;
	height: 12vw;
}
#gallery .banner-grid .grid-side-alt img:last-child{
	grid-column: span 2;
	height: 25vw;
}

#footer{
	margin-top: 2vw;
	padding: 4vw;
	background: #0A76BF;
}
#footer .footer-banner{
	background: #1f81c2;
	padding: 1.25vw;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 3.3vw;
	border-radius: 1.6vw;
}
#footer .footer-banner .banner-details{
	padding: 2vw 2.75vw;
	color: white;
	display: flex;
	flex-direction: column;
}
#footer .footer-banner .banner-details h1{
	font-size: 3.3vw;
	margin: 0;
}
#footer .footer-banner .banner-details small{
	font-size: 1vw;
	margin-top: 0.8vw;
}
#footer .footer-banner .banner-details button{
	margin-top: auto;
	padding: 0.8vw 2vw;
	background: #FF7900;
	color: white;
	border-radius: 0.8vw;
	font-size: 0.9vw;
	border: none;
	width: fit-content;
	cursor: pointer;
}
#footer .footer-banner .banner-details button:hover{
	background: #e66d00;
}
#footer .footer-banner .banner-map{
	display: flex;
	align-items: center;
	justify-content: center;
}
#footer .footer-banner .banner-map iframe{
	width: 100%;
	height: 21.875vw;
	border-radius: 1.6vw;
}
#footer .footer-contacts{
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	margin-top: 2.5vw;
	padding-top: 2.5vw;
	border-top: 1px solid #4697cd;
}
#footer .footer-contacts .contacts-meta{
	display: flex;
	flex-direction: column;
	gap: 2.5vw;
}
#footer .footer-contacts .contacts-meta .meta-phones{
	display: flex;
	gap: 2.5vw;
}
#footer .footer-contacts .contacts-meta a{
	text-decoration: none;
	color: white;
	font-size: 2vw;
}
#footer .footer-contacts .contacts-meta a:hover{
	text-decoration: underline;
}
#footer .footer-contacts .contacts-meta .meta-socials{
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 2vw;
}
#footer .footer-contacts .contacts-meta .meta-socials .socials-links{
	display: flex;
	gap: 0.8vw;
}
#footer .footer-contacts .contacts-meta .meta-socials .socials-links a{
	font-size: 1.25vw;
	width: 2.7vw;
	height: 2.7vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #2180c0;
	border-radius: 100px;
}
#footer .footer-contacts .contacts-meta .meta-socials .socials-links a:hover{
	text-decoration: none;
	background: #0099ff;
}
#footer .footer-contacts .contacts-meta .meta-socials small{
	color: #95CBEF;
	font-size: 0.8vw;
}
#footer .footer-contacts .contacts-form{
	display: flex;
}
#footer .footer-contacts .contacts-form form{
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 0.8vw;
}
#footer .footer-contacts .contacts-form form h2{
	font-size: 2vw;
	margin: 0;
	margin-bottom: 0.45vw;
	color: white;
}
#footer .footer-contacts .contacts-form form .form-group{
	display: flex;
	gap: 0.8vw;
}
#footer .footer-contacts .contacts-form form input, #footer .footer-contacts .contacts-form form textarea{
	flex: 1;
	font-size: 0.9vw;
	padding: 0.8vw 1.25vw;
	background: #2180c0;
	border: 1px solid transparent;
	border-radius: 0.8vw;
	color: white;
	resize: none;
}
#footer .footer-contacts .contacts-form form input:focus{
	outline: none;
	border-color: white;
}
#footer .footer-contacts .contacts-form form textarea:focus{
	outline: none;
	border-color: white;
}
#footer .footer-contacts .contacts-form form button{
	font-size: 0.9vw;
	padding: 0.8vw 0;
	border: none;
	border-radius: 0.8vw;
	color: white;
	background: #FF7900;
	cursor: pointer;
}
#footer .footer-contacts .contacts-form form button:hover{
	background: #e66d00;
}
#footer .footer-meta{
	margin-top: 2vw;
	padding-top: 2vw;
	border-top: 1px solid #4697cd;
	display: flex;
	justify-content: end;
}
#footer .footer-meta small{
	color: #95CBEF;
	font-size: 0.7vw;
}