/* Table of Content
==================================================
	#Font-Face
	#Site Styles
	#Media Queries */

/* #Font-Face
================================================== */
@import url('../fonts/SourceSansPro/stylesheet.css');
@import url('../fonts/icomoon/style.css');

/* #Site Styles
================================================== */

/* ### general ### */
html,
body { font-family: 'Source Sans Pro', sans-serif; font-size: 20px; line-height: 1.6; color: #1c2c4f; }
body { background: #fff; }
input,
select,
textarea { font-family: 'Source Sans Pro', sans-serif; font-size: 20px; line-height: 1.6; color: #1c2c4f; }
img { display: block; border: 0; }
:focus { outline: none; }
a { display: inline-block; transition: all 0.3s ease-in-out; }
p { line-height: inherit; text-rendering: inherit; }
h1,
h2,
h3,
h4,
h5,
h6 { font-family: 'Source Sans Pro', sans-serif; font-weight: 700; line-height: 1; text-transform: uppercase; color: #1c2c4f; }
h1 { font-size: 80px; }
h2 { font-size: 70px; }
h3 { font-size: 36px; }
h4 { font-size: 30px; }
h5 { font-size: 25px; }
h6 { font-size: 20px; }

/* ### button ### */
.button { margin-right: 25px; padding: 17px 30px 21px 27px; display: inline-flex; align-items: center; font-size: 20px; font-weight: 600; border-radius: 5px; transition: all 0.3s ease-in-out; }
.button i { margin-left: 9px; padding-top: 4px; font-size: 6px; color: #58c0d9; }
.button:hover { transform: scale(1.05); }
.button.primary { background-color: #1c2c4f; }
.button.primary:hover { background-color: #1c2c4f; }
.button.secondary { background-color: #58c0d9; }
.button.secondary i { color: #1c2c4f; }
.button.secondary:hover { background-color: #58c0d9; }
.input-control { margin-bottom: 0; padding: 5px 15px; width: 100%; height: 60px; font-size: 20px; font-weight: 300; color: #7d7d7d; border: 1px solid rgba(28, 44, 79, 0.1); background-color: #fff; box-shadow: 0 0 40px rgba(0, 0, 0, 0.05); }
.input-control::placeholder { color: #7d7d7d; }
.input-control:focus { box-shadow: none; border: 1px solid rgba(28, 44, 79, 0.1); }
.input-date { background: url('../images/calendar-icon.svg') no-repeat right 15px center; cursor: pointer; }
input[type='file'] { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.radio { position: relative; }
.radio .radio-label { margin: 0; }
.radio input[type='radio'] { position: absolute; opacity: 0; }
.radio input[type='radio'] + .radio-label:before { position: absolute; top: 250px; left: 50%; display: inline-block; width: 20px; height: 20px; border: 1px solid rgba(28, 44, 79, 0.2); border-radius: 100%; background: #fff; transform: translateX(-50%); transition: all 250ms ease; content: ''; cursor: pointer; }
.radio input[type='radio']:checked + .radio-label:before { background-color: #1c2c4f; }
.radio input[type='radio']:checked + .radio-label:after { margin-left: -1px; position: absolute; top: 254px; left: 50%; display: block; width: 6px; height: 12px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translateX(-50%); content: ''; }
.radio input[type='radio']:focus + .radio-label:before { outline: none; border-color: #1c2c4f; }
.radio input[type='radio'] + .radio-label:empty:before { margin-right: 0; }
.radio-btn { margin-right: 37px; position: relative; }
.radio-btn .radio-btn-label { padding-left: 30px; font-weight: 300; }
.radio-btn input[type='radio'] { position: absolute; opacity: 0; }
.radio-btn input[type='radio'] + .radio-btn-label:before { position: absolute; top: 6px; left: 0; display: inline-block; width: 20px; height: 20px; border: 1px solid rgba(28, 44, 79, 0.2); border-radius: 100%; background: #fff; transition: all 250ms ease; content: ''; cursor: pointer; }
.radio-btn input[type='radio']:checked + .radio-btn-label:before { background-color: #1c2c4f; }
.radio-btn input[type='radio']:focus + .radio-btn-label:before { outline: none; border-color: #1c2c4f; }
.radio-btn input[type='radio'] + .radio-btn-label:empty:before { margin-right: 0; }
.flex-wrap { flex-wrap: wrap; }

/* ### global classes ### */
.clear { visibility: hidden; clear: both; height: 0; line-height: 0; }

/* ### grid-container ### */
.grid-container { padding-right: 2rem; padding-left: 2rem; width: 100%; max-width: 1664px; }

/* ### wrapper ### */
#wrapper { position: relative; display: block; width: 100%; min-height: 100%; overflow: hidden; }

/* ### main container ### */
#mainCntr { width: 100%; }

/* ### header container ### */
#headerCntr { padding-top: 36px; position: relative; z-index: 5; width: 100%; }
#headerCntr .logo { width: 433px; }
#headerCntr .logo img { max-width: 100%; }

/* ### navigation ### */
.navigation { margin-top: -25px; position: relative; width: 100%; }
.navigation .info .call { margin-left: 20px; display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; text-decoration: none; color: #fff; border: solid 3px #58c0d9; border-radius: 100%; }
.navigation .info .call .icon-envelope { font-size: 14px; }
.navigation .info .call:hover { background-color: #58c0d9; }
.navigation .flag { margin-left: 20px; position: relative; width: 50px; }
.navigation .flag .call { margin-left: 0; }
.navigation .flag .call img { position: relative; z-index: 1; }
.navigation .flag a.is_active { background-color: #58c0d9; }
.navigation .flag a.is_active img { border: solid 2px #fff; border-radius: 100%; }
.navigation .flag-hidden { padding-top: 34px; position: absolute; top: 23px; display: none; width: 50px; }
.navigation .flag-hidden a { margin-bottom: 20px; display: flex; justify-content: center; }
.navigation .flag-hidden:after { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border-radius: 0 0 75px 75px; background-color: #58c0d9; content: ''; }


/* ### menu box ### */
.menuBox { padding-right: 24px; }
.menuBox ul { margin: 0; display: flex; justify-content: flex-end; list-style: none; }
.menuBox ul > li { padding-left: 36px; }
.menuBox ul > li > a { font-size: 18px; font-weight: 700; text-transform: uppercase; color: #fff; }

/* ### hamburger ### */
.hamburger { position: absolute; top: 0; right: 0; z-index: 5; display: none; align-items: center; justify-content: center; width: 50px; height: 50px; border: solid 3px #58c0d9; border-radius: 100%; transition: all 0.3s ease-in-out; }
.hamburger.is_active { background-color: #58c0d9; }
.hamburger span { margin: 4px auto; position: relative; display: block; width: 25px; height: 4px; border-radius: 75px; background-color: #fff; transition: all 0.3s; }
.hamburger span:before,
.hamburger span:after { position: absolute; display: block; width: 100%; height: 4px; border-radius: 75px; background-color: #fff; transition: all 0.3s; content: ''; }
.hamburger span:before { top: -7px; }
.hamburger span:after { bottom: -7px; }
.hamburger.is_active span { background: none; }
.hamburger.is_active span:before { top: 0; width: 100%; background-color: #fff; transform: rotate(135deg); }
.hamburger.is_active span:after { bottom: 0; width: 100%; background-color: #fff; transform: rotate(-135deg); }

/* ### content container ### */
#contentCntr { width: 100%; }

/* ### banner box ### */
.bannerBox { margin-top: -141px; position: relative; z-index: 2; width: 100%; overflow: hidden; }
.bannerBox h1 { margin-bottom: 19px; line-height: 0.9; color: #fff; }
.bannerBox .block { position: relative; width: 100%; }
.bannerBox .content { padding-bottom: 160px; padding-left: 104px; position: absolute; bottom: 0; left: 0; z-index: 2; width: 100%; color: #fff; }
.bannerBox .item { position: relative; z-index: 4; height: 880px; }
.bannerBox .item img { width: 100%; height: 100%; object-fit: cover; }
.bannerBox .slick-list:after { position: absolute;
	top: 0;
	right: -20px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to left, rgba(88, 192, 217, 0.65) 0%, rgba(88, 192, 217, 0) 100%);
	content: '';  }
.bannerBox .slider-item { position: relative; }
.bannerBox .slider-item:before { position: absolute; top: 0; left: 0; z-index: 1; width: 1380px; height: 1080px; background: url('../images/blue-bg.png') no-repeat; content: ''; }
.bannerBox .slider-item:after { position: absolute; bottom: -1250px; left: 0; z-index: 1; width: 1920px; height: 1920px; background: url('../images/dark-blue-bg.png') no-repeat; content: ''; }
.bannerBox .js-banner-slider { display: none; }
.bannerBox .js-banner-slider.slick-initialized { display: block; }
.bannerBox .paragraph { margin-bottom: 42px; width: 65%; }
.bannerBox .blue-bg.blue-1 { top: unset; bottom: -950px; height: 1380px; }
.bannerBox .shape { position: absolute; bottom: 0; left: 0; z-index: 1; width: 100%; }
.bannerBox .shape img { width: 100%; height: 327px; }

/* ### usp box ### */
.uspBox { margin-bottom: 76px; padding-top: 2px; width: 100%; }
.uspBox .holder { padding-bottom: 91px; width: 100%; border-bottom: 1px solid rgba(46, 45, 51, 0.06); }
.uspBox .item { width: 100%; font-size: 20px; font-weight: 600; color: #1c2c4f; }
.uspBox .item i { margin-right: 20px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 12px; color: #35b635; border: 2px solid #35b635; border-radius: 100%; }

/* ### product box ### */
.productBox { margin-bottom: 48px; position: relative; width: 100%; }
.productBox:before { position: absolute; bottom: 274px; left: 50%; z-index: -1; width: 1920px; height: 256px; background: url('../images/shape-3.png') no-repeat; transform: translateX(-50%); content: ''; }
.productBox:after { position: absolute; bottom: -40px; left: 0; z-index: -1; width: 100%; height: calc(100% - 800px); background-color: #58c0d9; content: ''; }
.productBox .heading { margin-bottom: 78px; width: 100%; }
.productBox h2 { margin-bottom: 33px; }
.productBox .paragraph { padding: 0 5%; width: 100%; font-weight: 300; line-height: 1.4; }

/* ### intro box ### */
.introBox { padding-bottom: 153px; position: relative; width: 100%; background-color: #58c0d9; }
.introBox .item { display: flex; align-items: center; width: 100%; }
.introBox .icon { margin-right: 20px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 82px; height: 82px; border: solid 2px #fff; border-radius: 100%; }
.introBox .text { width: 65%; font-size: 20px; line-height: 1; color: #fff; }

/* ### why box ### */
.whyBox { margin-bottom: 180px; position: relative; width: 100%; }
.whyBox:before { position: absolute; bottom: -40px; left: 50%; z-index: -1; width: 1920px; height: 521px; background: url('../images/shape-4.png') no-repeat; transform: translateX(-50%); content: ''; }
.whyBox:after { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: calc(100% - 380px); background-color: #58c0d9; content: ''; }
.whyBox .content { padding-left: 100px; width: 85%; }
.whyBox .paragraph { padding: 35px 0; font-weight: 300; line-height: 1.4; }
.whyBox .image { width: 100%; height: 600px; box-shadow: 0 0 50px rgba(0, 0, 0, 0.15); }
.whyBox .image img { width: 100%; height: 100%; object-fit: cover; }
.whyBox.inner { margin-bottom: 132px; }
.whyBox.inner:before { display: none; }
.whyBox.inner:after { display: none; }
.whyBox.inner .content { width: 100%; }

/* ### request box ### */
.requestBox { margin-bottom: 124px; width: 100%; }
.requestBox h2 { margin-bottom: 31px; }
.requestBox h3 { margin-bottom: 4px; }
.requestBox .heading { margin-bottom: 64px; width: 100%; font-weight: 300; }
.requestBox .price { font-size: 22px; font-weight: 600; line-height: normal; color: #58c0d9; }
.requestBox .block { margin-bottom: 96px; width: 100%; }
.requestBox .item { width: 100%; }
.requestBox .image { min-height: 167px; }
.requestBox .image img { margin: 0 auto; width: 290px; }
.requestBox .cell:nth-child(2) .image img { width: 350px; }
.requestBox .cell:nth-child(3) .image img { width: 400px; }
.requestBox .form { width: 100%; }
.requestBox label { margin-right: 0; margin-bottom: 5px; margin-left: 0; font-size: 20px; font-weight: 600; line-height: normal; color: #1c2c4f; }
.requestBox .choose-btn { padding-top: 11px; width: 100%; }
.requestBox .file { position: relative; width: 100%; }
.requestBox .file-bg { width: 100%; height: 100%; border: 1px solid rgba(28, 44, 79, 0.1); background-size: 20px; box-shadow: 0 0 40px rgba(0, 0, 0, 0.05); cursor: pointer; }
.requestBox .file-text { padding: 0 15px; display: flex; align-items: center; height: 60px; font-weight: 300; color: #7d7d7d; }

/* ### location box ### */
.locationBox { margin-bottom: 100px; width: 100%; }
.locationBox h2 { margin-bottom: 44px; }
.locationBox .content { padding: 67px 80px 67px 100px; width: 100%; }
.locationBox .paragraph { width: 100%; font-weight: 300; line-height: 1.5; }
.locationBox address { padding: 7px 0 29px; font-size: 20px; font-weight: 300; font-style: normal; line-height: 1.2; color: #1c2c4f; }
.locationBox ul { margin: 0; list-style: none; }
.locationBox ul > li { margin-bottom: 5px; }
.locationBox ul > li > a { display: inline-flex; align-items: center; font-weight: 300; color: #1c2c4f; }
.locationBox ul > li > a i { margin-right: 15px; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: 12px; text-decoration: none; color: #1c2c4f; border: solid 2px #58c0d9; border-radius: 100%; transition: all 0.3s ease-in-out; }
.locationBox ul > li > a .icon-envelope { font-size: 8px; }
.locationBox ul > li > a:hover i { color: #fff; background-color: #58c0d9; transform: scale(1.15); }
.locationBox .right { position: relative; width: 100%; }
.locationBox .team { position: absolute; bottom: 0; left: -34px; z-index: 1; }
.locationBox .team img { margin: 0 -72px; }
.locationBox .map { position: relative; max-width: 803px; min-height: 602px; box-shadow: 0 0 50px rgba(0, 0, 0, 0.15); }
.locationBox .map img { width: 100%; height: 100%; object-fit: cover; }
.locationBox .pin { position: absolute; top: 32.5%; right: 31.5%; }
.locationBox .pin img { transition: all 0.3s; }
.locationBox .pin:hover img { transform: scale(1.09); }

/* ### cardBox-product ### */
.cardBox-product { position: relative; width: 100%; height: 100%; background-color: #fff; transition: all 0.3s ease-in-out; box-shadow: 0 0 50px rgba(0, 0, 0, 0.06); }
.cardBox-product:hover { transform: scale(1.04); }
.cardBox-product h3 { margin-bottom: 0; }
.cardBox-product ul { margin: 0 0 60px; list-style: none; border-bottom: 1px solid #f6f6f6; }
.cardBox-product ul > li { padding: 6px 40px 9px; position: relative; font-weight: 300; border-top: 1px solid #f6f6f6; }
.cardBox-product ul > li:after { position: absolute; top: 13px; left: 0; font-family: 'icomoon', sans-serif; font-size: 12px; color: #35b635; content: '\e900'; }
.cardBox-product ul > li > ul { margin: 0; padding: 7px 0 2px; border-bottom: 0; }
.cardBox-product ul > li > ul > li { padding: 2px 19px 4px; font-style: italic; line-height: normal; border-top: 0; }
.cardBox-product ul > li > ul > li:before { position: absolute; top: 15px; left: 0; width: 6px; height: 6px; border-radius: 100%; background-color: #d5e8ed; content: ''; }
.cardBox-product ul > li > ul > li:after { display: none; }
.cardBox-product .image { position: relative; width: 100%; overflow: hidden; }
.cardBox-product .image img { width: 100%; height: 216px; object-fit: cover; filter: blur(5px); }
.cardBox-product .item { padding: 0 20px; position: absolute; bottom: 0; left: 50%; z-index: 2; width: 350px; transform: translateX(-50%); }
.cardBox-product .item img { width: 100%; height: auto; filter: blur(0); }
.cardBox-product .content { padding: 34px 50px 100px; width: 100%; }
.cardBox-product .title { margin-bottom: 47px; width: 100%; }
.cardBox-product .price { font-size: 22px; font-weight: 600; color: #58c0d9; }
.cardBox-product .shape { position: absolute; bottom: -2px; left: 0; z-index: 1; width: 100%; }
.cardBox-product .shape img { width: 100%; height: 100px; filter: blur(0); }
.cardBox-product .btn { padding: 0 30px; position: absolute; bottom: 50px; left: 50%; width: 100%; transform: translateX(-50%); }
.cardBox-product .button { margin: 0; }


/* ### footer container ### */
#footerCntr { overflow: hidden; width: 100%; }

/* ### copy box ### */
.footerBox { padding-top: 50px; padding-bottom: 50px; position: relative; width: 100%; }
.footerBox:before { position: absolute; top: 0; left: 50%; z-index: -1; width: 1920px; height: 256px; background: url('../images/shape-5.png') no-repeat; transform: translateX(-50%); content: ''; }
.footerBox:after { position: absolute; bottom: 0; left: 0; z-index: -1; width: 100%; height: calc(100% - 256px); background-color: #1c2c4f; content: ''; }
.footerBox .menu { margin: 0 0 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; list-style: none; }
.footerBox .menu > li { padding: 0 10px; font-size: 18px; font-weight: 300; color: #fff; }
.footerBox .menu > li > a { padding: 0; color: #58c0d9; }
.footerBox .menu > li > a:hover { color: #fff; transform: scale(1.05); }
.footerBox .social-icon { margin: 0; display: flex; justify-content: center; list-style: none; }
.footerBox .social-icon > li { margin: 0 10px; }
.footerBox .social-icon > li > a { display: inline-flex; align-items: center; font-weight: 300; }
.footerBox .social-icon > li > a i { display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 51px;
	height: 51px;
	text-decoration: none;
	color: #fff;
	border: solid 2px #58c0d9;
	border-radius: 100%; }
.footerBox .social-icon > li > a:hover { transform: scale(1.05); }

/* #Media Queries
================================================== */

@media only screen and (max-width: 1630px) {
	.navigation .info .call { margin-left: 10px; }
	.navigation .info a:first-child { margin-left: 0; }
	.menuBox { padding-right: 15px; }
	.menuBox ul > li { padding-left: 20px; }
	.bannerBox .paragraph { width: 100%; }
	.cardBox-product h3 { font-size: 34px; }
}


@media only screen and (max-width: 1439px) {
	h2 { font-size: 60px; }
	.navigation .info { margin-right: 59px; }
	.menuBox { padding: 120px 20px; position: fixed; top: 0; right: -100%; z-index: -1; width: 100%; height: 100%; background-color: #000; transition: all 0.3s ease-in-out; overflow: scroll; }
	.menuBox.open { right: 0; display: block; }
	.menuBox ul { display: block; }
	.menuBox ul > li { padding-bottom: 20px; padding-left: 0; }
	.menuBox ul > li > a { font-size: 20px; }
	.hamburger { display: inline-flex; }
	.bannerBox .shape img { height: 120px; }
	.uspBox { padding-top: 40px; }
	.cardBox-product h3 { font-size: 30px; }
	.cardBox-product ul > li { padding: 6px 40px 9px 30px; }
	.cardBox-product .title { margin-bottom: 25px; }
	.cardBox-product .content { padding: 30px 30px 100px; }
	.cardBox-product .btn { bottom: 30px; }
	.whyBox .content { padding-left: 0; width: 100%; }
}

@media only screen and (max-width: 1199px) {
	h1 { font-size: 65px; }
	h2 { font-size: 50px; }
	.bannerBox .content { padding-left: 25px; }
	.cardBox-product h3 { font-size: 24px; }
	.cardBox-product ul { margin: 0 0 30px; }
	.cardBox-product ul > li { padding: 6px 0 6px 25px; font-size: 18px; }
	.cardBox-product .item { width: 100%; }
	.locationBox .content { padding: 70px 0; }
	.locationBox .team { width: 280px; }
	.locationBox .team img { margin: 0 -50px; width: 100%; }
}

@media only screen and (max-width: 1023px) {
	h1 { font-size: 55px; }
	h2 { font-size: 45px; }
	h3 { font-size: 32px; }
	#headerCntr { padding-top: 25px; }
	#headerCntr .logo { width: 282px; }
	.mobileMenu { top: 24px; }
	.bannerBox h1 { margin-bottom: 10px; }
	.bannerBox .content { padding-bottom: 65px; padding-left: 0; }
	.bannerBox .item { height: calc(100vh + 255px); }
	.bannerBox .paragraph { margin-bottom: 0; }
	.bannerBox .shape img { height: 85px; }
	.uspBox { margin-bottom: 45px; }
	.uspBox .holder { padding-bottom: 40px; }
	.uspBox .item i { margin-right: 10px; }
	.productBox .heading { margin-bottom: 45px; }
	.productBox .paragraph { padding: 0; }
	.whyBox { margin-bottom: 100px; }
	.whyBox.inner { margin-bottom: 50px; }
	.whyBox .image { height: auto; }
	.whyBox .paragraph { padding: 15px 0; }
	.introBox { padding-bottom: 60px; }
	.introBox .text { width: 100%; }
	.requestBox { margin-bottom: 40px; }
	.requestBox .item { margin-bottom: 60px; }
	.requestBox .image { min-height: 130px; }
	.requestBox .radio input[type='radio'] + .radio-label:before { top: 220px; }
	.requestBox .block { margin-bottom: 40px; }
	.cardBox-product .content { padding: 30px 20px 100px; }
	.cardBox-product .btn { padding: 0 20px; }
	.locationBox .content { padding: 30px 0; }
}


@media only screen and (max-width: 639px) {
	h1 { font-size: 40px; }
	h2 { font-size: 40px; }
	#headerCntr .logo { width: 200px; }
	.hamburger { width: 45px; height: 45px; }
	.bannerBox .paragraph { line-height: 1.2; }
	.cardBox-product .item { width: 85%; }
	.introBox .icon { width: 75px; height: 75px; }
	.locationBox { margin-bottom: 50px; }
	.locationBox h2 { margin-bottom: 25px; }
	.locationBox .content { padding: 0; }
	.locationBox .team { margin: 0 auto; position: relative; left: 0; width: 200px; }
	.locationBox .map { min-height: 100%; }
	.requestBox h2 { margin-bottom: 15px; }
	.requestBox h3 { margin-bottom: 0; font-size: 27px; }
	.requestBox .heading { margin-bottom: 0; }
	.requestBox .price { font-size: 18px; }
	.requestBox .block { margin-bottom: 20px; }
	.requestBox .item { margin-bottom: 15px; }
	.requestBox .image { margin-bottom: 5px; min-height: auto; }
	.requestBox .image img { width: 250px; }
	.requestBox .cell:nth-child(2) .image img { width: 260px; }
	.requestBox .cell:nth-child(3) .image img { width: 270px; }
	.requestBox .radio input[type='radio'] + .radio-label:before { top: 172px; }
	.footerBox .menu > li { padding: 4px 10px; }
	.button { margin-right: 0; justify-content: center; width: 100%; }
	.bannerBox .item { height: calc(100vh + 70px); }
}
