@charset "UTF-8";

*{min-height: 0; min-width: 0}img{max-width: 100%; height: auto; min-height: 1px}img.alignright{float:right;margin:0 0 1em 1em}img.alignleft{float:left;margin:0 1em 1em 0}img.aligncenter{display:block;margin-left:auto;margin-right:auto}.alignright{float:right}.alignleft{float:left}.aligncenter{display:block;margin-left:auto;margin-right:auto}a, button, input, textarea, select{outline: none!important}*:focus{outline:none!important;text-decoration:none!important}

#wrapper{position: relative;padding-top:10rem}
.home #wrapper{padding-top: 0}
.btn + .btn{margin-left:1.6666666666666667rem}

/* =============================================================================
   editor content
   ========================================================================== */
.editor-content > * + *{margin-top: 1.1111111111111112rem}
.editor-content ul > li + li,
.editor-content ol > li + li{margin-top: 0.5rem}

table.prices{width: 100%}
	.prices tr{	border-bottom: 1px solid rgba(3, 30, 68, 0.1)}
	.prices tr > td{padding: 1rem 0 0 0}

.page-child .editor-content img.alignright{width: 37.5%}
.page-child .editor-content p + h2{margin-top: 2rem}
.page-child .editor-content h2{clear:both}

.editor-content .wpcf7{
	margin-top: 1.1111111111111112rem
}

/* =============================================================================
   header
   ========================================================================== */
#header{position:fixed;top:0;left:0;width:100%;background-color:#08182f;z-index: 1000}
.home #header{background-color: transparent}
	#header > .container > .row{height: 10rem; max-height: 10rem;}
		#primary-menu{color: #fff;font-size:0.8888888888888888rem;font-weight:700;text-transform:uppercase;line-height:1.1111111111111112rem}
			#primary-menu > ul{margin: 0; list-style: none; padding: 0}
			#primary-menu a{color: inherit;display:block}
			#primary-menu li:hover > a{text-decoration:none}
				#primary-menu > ul > li{float: left}
				#primary-menu > ul > li + li{margin-left: 2.2222222222222223rem}
					#primary-menu > ul > li > a{position:relative;display: -ms-flexbox;display: -webkit-flex;display: flex;-webkit-flex-direction: row;-ms-flex-direction: row;flex-direction: row;-webkit-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: flex-start;-ms-flex-pack: start;justify-content: flex-start;-webkit-align-content: stretch;-ms-flex-line-pack: stretch;align-content: stretch;-webkit-align-items: center;-ms-flex-align: center;align-items: center;height: 3.5rem}
						#primary-menu > ul > li a:after{content:'';display:block;width:8px;height:11px;position:absolute;bottom:0;left:50%;margin-left:-4px;background-image:url(../images/menu-active.png);opacity:0}
						#primary-menu > ul > li:hover > a:after,
						#primary-menu > ul > li.current-menu-item > a:after,
						#primary-menu > ul > li.current-menu-parent > a:after,
						#primary-menu > ul > li.current-menu-ancestor > a:after,
						#primary-menu > ul > li.current-page-item > a:after,
						#primary-menu > ul > li.current-page-parent > a:after,
						#primary-menu > ul > li.current-page-ancestor > a:after{opacity:1}

						.col-header-logo{flex: 1!important;}

						#header .col-md-auto{position: static}
						#header .container{position: relative}

						#primary-menu > ul ul.sub-menu{
							display: flex;
							flex-wrap: wrap;
							position: absolute;
							top: calc(100% - 3.2rem);
							left: 50%;
							transform: translateX(-50%) scaleY(0);
							z-index: 20000;
							list-style: none;
							padding: 2.5rem 0.5rem 1rem 0.5rem;
							color: #fff;
							width: 100%;
							height: 0;
						}
						#primary-menu > ul > li:hover > ul.sub-menu{height: auto; max-height: calc(100vh - 10rem); transform: translateX(-50%) scaleY(1)}
						#header.fixed #primary-menu > ul ul.sub-menu{
							top: calc(100% - 0.3rem);
						}
							#primary-menu > ul ul.sub-menu::before{
								display: block;
								content: "";
								position: absolute;
								width: 150vw;
								left: -50vw;
								height: 100%;
								top: 0;
								background-color: #08182f;
							}

							/*#primary-menu > ul ul.sub-menu > li:hover > a::after,*/
							/*#primary-menu > ul ul.sub-menu > li.current-page-item > a::after,*/
							/*#primary-menu > ul ul.sub-menu > li.current-menu-item > a::after{*/
								/*opacity: 1!important;*/
								/*left: 0;*/
								/*top: 50%;*/
								/*transform: translateY(-50%) translateX(-50%);*/
							/*}*/
							#primary-menu > ul ul.sub-menu > li{
								float: left;
								margin: 0;
								widtH: 25%;
								flex: 0 0 25%;
							}

							#primary-menu > ul ul.sub-menu > li > a {
								display:flex;
								flex-direction: row;
								align-items: center;
								font-size: 0.9rem;
								color: #fff;
								text-transform: none;
								position: relative;
								font-weight: 300;
								padding: 0 0.5rem;
							}
								#primary-menu > ul ul.sub-menu > li > a:focus > ._svg,
								#primary-menu > ul ul.sub-menu > li > a:focus > span,
								#primary-menu > ul ul.sub-menu > li > a:hover > ._svg,
								#primary-menu > ul ul.sub-menu > li > a:hover > span{
									color: #e51c24;
									fill: #e51c24;
								}

							#primary-menu > ul ul.sub-menu > li > a > ._svg{
								display: inline-block;
								width: 3rem;
								height: 3rem;
								margin: 0 auto 1em auto;
								color: #18a3dd;
								fill: #18a3dd;
								flex: 0 0 3rem;
								padding: 0.2rem 0.5rem;
							}
							#primary-menu > ul ul.sub-menu > li > a > span{
								display: inline-block;
								width: 100%;
							}

							.page-child #header:not(.fixed) #primary-menu > ul ul.sub-menu,
							.page-child #header:not(.fixed) #primary-menu > ul ul.sub-menu::before{
								background: linear-gradient(to bottom, transparent 0px, #08182f 2rem);
							}
.home #header.fixed{background-color:#08182f}
	#header.fixed > .container > .row{ align-items: flex-start!important; height: 6.5rem; padding-top: 5px; padding-bottom: 5px; max-height: 4rem; transition: max-height 0.1s;}
	#header.fixed + #content > .element-hero{
		margin-top: -10rem;
		padding-top: 10rem;
	}
	#header + #content::before{
		content: "";
		display: block;
		height: 10rem;
		width: 100%;
		margin-top: -10rem;
		z-index: -1;
		background-color: #08182f;
	}

	.page-child #header + #content::before{
		background-color: transparent;
	}

/* =============================================================================
   builder elements
   ========================================================================== */
.element-bg-white{background-color:#fff}
.element-bg-teal{background-color:#e0eff6}

.builder-element > .element-inner{padding: 5.555555555555555rem 0}
.element-primary + .builder-element.element-bg-white,
.element-bg-white + .builder-element.element-bg-white{border-top: 1px solid #dfdfdf}

.element-header + *{margin-top: 1.9444444444444444rem}
* + .element-footer{margin-top: 2.5rem}

/* element hero */
.element-hero{background-color:#08182f;color:#fff; /*padding: 0 0 4.444444444444445rem*/}
.element-hero .hero-slider{position: absolute; top: 0; left: 0; width: 100%; height: 100%}
	.element-hero .hero-slider .slick-list,
	.element-hero .hero-slider .slick-list > .slick-track{height: 100%}
	.element-hero > .container-fluid{background-position: center; background-size: cover; background-repeat: no-repeat;position:relative; max-width: none}
		.element-hero > .container-fluid:before{content: '';display: block;width: 100%;height: 100%;position: absolute;top: 0;left: 0;background-color:#031e44;opacity:0.2}
		.element-hero > .container-fluid > .container{padding-top: 10rem}
		.element-hero > .container-fluid > .container > .row{height: 26.666666666666668rem;position:relative}
			.element-hero h1{text-shadow: 0px 0px 9px rgba(0, 0, 0, 1)}
	
	.element-hero > .container-fluid + .container{margin-top: 1.6666666666666667rem}
	.element-hero .element-header + *{margin-top: 1.6666666666666667rem}
	.element-hero .element-body + *{margin-top: 1.9444444444444444rem}

	.element-hero .slider-container{position: relative}
		.element-hero .slider-container .hero-slider-img{height: 100%}
		.element-hero .slider-container .hero-slider-img .filter{height: 100%; width: 100%; background-color: #08182f; opacity: 0.35}

/* icons */
.row-icon-item{display: block; color: #08182f; position: relative; height: 100%}
	.icon-img-wrap{height: 5.444444444444445rem}
		.icon-img-wrap svg{display: block; margin: 0 auto; width: 4rem; height: 4rem}
			.icon-img-wrap svg path,
			.icon-img-wrap svg rect{fill:#18a3dd}
			.icon-img-wrap .icon-span{width: 5rem; height: 5rem; background-position: 0 0; background-repeat: no-repeat; background-size: 10rem 5rem}

.element-hero .row-icon-item{color: #fff}

a.row-icon-item:hover{color: #e51c24;text-decoration:none}
a.row-icon-item:hover .icon-img-wrap svg path,
a.row-icon-item:hover .icon-img-wrap svg rect{fill:#e51c24}
a.row-icon-item:hover .icon-img-wrap .icon-span{background-position: 100% 0}

/* txtimg */

.element-txtimg{overflow:hidden}

.txtimg-row .txtimg-img {position: relative; z-index: 2}
.txtimg-row .txtimg-img::after {
	content:"";
	display: block;
	position: absolute;
	width: 50vw;
	left: 4.5rem;
	top: 2.5rem;
	height: 100%;
	opacity: 0.5;
	background-color: #e0eff6;
	z-index: -1;
}

.txtimg-row + .txtimg-row{margin-top:5.555555555555555rem}

.txtimg-row:nth-child(even){flex-direction: row-reverse}
	.txtimg-row:nth-child(even) .txtimg-img::after{
		left: unset;
		right: 4.5rem;
	}

/* =============================================================================
   flexible components
   ========================================================================== */
* + .block-body,
* + .block-footer{margin-top: 1.9444444444444444rem}

.narrow-block{padding-right: 8.333333%}

.body-component + .body-component{margin-top: 1.6666666666666667rem}

.block-body .row-icons .col-icon{-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%;flex:0 0 auto\0;padding:0 15px;position:relative}
.block-body .row-logos .col-logo{-ms-flex:0 0 16.66666666666667%;flex:0 0 16.66666666666667%;width:16.66666666666667%;max-width:16.66666666666667%;flex:0 0 auto\0;padding: 0 15px}

.row-logos img{display: block; margin-left: auto; margin-right: auto}

.block-body .row-icons .col-icon:nth-child(n+5){margin-top: 1.6666666666666667rem; padding-top: 1.6666666666666667rem}
.block-body .row-logos .col-logo:nth-child(n+7){margin-top: 1.6666666666666667rem}

.col-md-6 .block-body .row-icons .col-icon,
.col-md-6 .block-body .row-logos .col-logo{-ms-flex:0 0 33.3334%;flex:0 0 33.3334%;width:33.3334%;max-width:33.3334%;flex:0 0 auto\0}

.col-md-6 .block-body .row-icons .col-icon:nth-child(n+4),
.col-md-6 .block-body .row-logos .col-logo:nth-child(n+4){margin-top: 1.6666666666666667rem}

.block-body .row-icons .col-icon:before,
.block-body .row-icons .col-icon:nth-child(n+5):after{content: ''; display: block; position: absolute; background-color: #dfdfdf}

.block-body .row-icons .col-icon:before{width: 1px; height: 5.555555555555555rem; top: 50%; left: 0; margin-top: -2.7777777777777777rem}
.block-body .row-icons .col-icon:after{width: 5.555555555555555rem; height: 1px; top: 0; left: 50%; margin-left: -2.7777777777777777rem}

.block-body .row-icons .col-icon:nth-child(4n+1):before{display: none!important}

/* =============================================================================
   element primary
   ========================================================================== */
.element-primary .element-header{background-color:#031e44;color:#fff}
	.element-primary .element-header .row{height:8.333333333333334rem}
	.element-primary .element-body{padding: 4.444444444444445rem 0}

.builder-element.element-bg-white:last-child,
.element-primary:first-child:last-child .element-body{border-bottom: 1px solid #dfdfdf}

* + .primary-footer{margin-top: 1.6666666666666667rem}

/* =============================================================================
   contact
   ========================================================================== */
.page-template-tpl-contact .contact-info{
	z-index: 2;
	position: relative;
	display: inline-block;
	min-width: 30rem;
	max-width: 40rem;
}
.page-template-tpl-contact .contact-info > .editor-content{
	position: relative;
	padding: 5rem;
	background-color: #fff;
	border:1px solid #dfdfdf;
}
	.page-template-tpl-contact .contact-info::before{
		content:"";
		display: block;
		position: absolute;
		width: 100vw;
		right: 4.5rem;
		top: 2.5rem;
		height: 100%;
		background-color: #e0eff6;
		z-index: -1;
	}
.page-template-tpl-contact .map-wrapper{position:relative; padding: 5rem 0 7rem 0; overflow:hidden; background-color: #f7f7f7}
.page-template-tpl-contact .map-wrapper > iframe{
	position:absolute;
	height: calc(100% + 50rem);
	width: 140vw;
	right: -40vw;
	top:-25rem;
	z-index: 1
}

.page-template-tpl-contact table{width: 100%; table-layout: fixed}
	.page-template-tpl-contact table td{text-align: center}
	.page-template-tpl-contact table td + td{border-left: 1px solid #dfdfdf}

/* =============================================================================
   sidebar
   ========================================================================== */
#sidebar ul.menu,
#sidebar ul.menu ul{margin: 0; padding: 0; list-style: none}

#sidebar ul.menu{margin-top: -0.7777777777777778rem}
#sidebar ul.menu a{display: block; color: #08182f; line-height: 1.3888888888888888rem; padding: 0.7777777777777778rem 0}
	#sidebar ul.menu li + li{border-top: 1px solid #dfdfdf}
		#sidebar ul.menu li:hover > a,
		#sidebar ul.menu li.current-menu-item > a,
		#sidebar ul.menu li.current-menu-parent > a,
		#sidebar ul.menu li.current-menu-ancestor > a,
		#sidebar ul.menu li.current-page-item > a,
		#sidebar ul.menu li.current-page-parent > a,
		#sidebar ul.menu li.current-page-ancestor > a{color: #e51c24;text-decoration:none}

#sidebar li > a > img,
#sidebar li > a > ._svg,
#sidebar li > a > svg{display: none!important;}

/* =============================================================================
   footer
   ========================================================================== */
#footer{font-size:0.8888888888888888rem}
	#footer > .container > .row{padding:2.5rem 0}
		#footer ul{margin:0;padding:0;list-style:none;overflow:hidden}
			#footer ul > li{float:left}
				#footer ul > li + li:before{content:'|';margin:0 8px;display:inline-block;vertical-align:middle}

#ama{color:#231f20;opacity:0.5}#ama:hover{text-decoration:none;opacity:1}

.page-template-tpl-contact .contact-info > .editor-content .flex-stretch{
	margin: -15px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.page-template-tpl-contact .contact-info > .editor-content * + .flex-stretch{margin-top: 15px}

.page-template-tpl-contact .contact-info > .editor-content .flex-stretch > .flex-item{
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 33.3334%;
    -ms-flex: 0 1 33.3334%;
    flex: 0 1 33.3334%;
	flex: 0 0 auto\0;
	width: 33.3334%;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
	padding: 15px;
}
.page-template-tpl-contact .contact-info > .editor-content .flex-stretch > .flex-item + .flex-item{border-left: 1px solid #efefef}

/* =============================================================================
   media query
   ========================================================================== */
@media (min-width: 1024px){
	#mobile-toggle{display: none}
	#header-items{display: block!important}
}
@media (max-width: 1023px){
	body.noscroll{overflow: hidden}
	
	#mobile-toggle{
		position: relative;
		display: block!important;
		transition: 0.8s ease;
		z-index: 9999;
		height: 40px;
		width: 40px;
		border: 1px solid #fff;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		border-radius: 50%;
		background: none;
	}
		#mobile-toggle .menui {
			width: 24px;
			left: 50%;
			margin-left: -12px;
			height: 1px;
			background: #fff;
			transition: 0.6s ease;
			transition-timing-function: cubic-bezier(.75,0,.29,1.01);
			position: absolute;
		}
		#mobile-toggle .top-menu{top: 14px}
		#mobile-toggle .mid-menu{top: 19px}
		#mobile-toggle .bot-menu{top: 24px}
		#mobile-toggle .top-menu.animate{top: 19px!important; -webkit-transform: rotate(45deg); transform: rotate(45deg)}
		#mobile-toggle .mid-menu.animate{opacity: 0}
		#mobile-toggle .bot-menu.animate{top: 19px!important; -webkit-transform: rotate(-225deg); transform: rotate(-225deg)}
		
	.home #header,
	#header{background-color: #08182f}
		#header > .container > .row,
		#header.fixed > .container > .row{height: 80px; max-height: none; padding: 0}
		#header.fixed > .container > .row{align-items: center!important}
			#header-items{
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				overflow: hidden;
				padding: 100px 0 0 0;
				background-color: #08182f;
			}
				#primary-menu{position: relative; height: 100%; padding: 15px; overflow-y: auto}
				#primary-menu > ul > li{float: none}
				#primary-menu > ul > li + li{margin: 2rem 0 0 0}
					#primary-menu > ul > li > a{
						height: auto;
						padding-bottom: 15px;
						text-align: center;						
						-webkit-justify-content: center;
						-ms-flex-pack: center;
						justify-content: center
					}
					
					#primary-menu > ul > li:hover > ul.sub-menu{display: none!important; height: 0!important}
	
	#wrapper,
	.element-hero > .container-fluid > .container{padding-top: 80px}
		.element-hero > .container-fluid > .container > .row{height: auto; padding: 30px 0}

	#footer .row > div + div{margin-top: 30px}
	#footer .col-md-3,
	#footer .col-md-7,
	#footer .col-md-2{
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		flex: 0 0 auto\0;
		text-align: center!important
	}
		#footer ul > li{float: none}
		#footer ul > li + li{margin: 1rem 0 0 0}
			#footer ul > li + li:before{display: none}
			
	.page-template-tpl-contact .map-wrapper{padding: 0}
	.page-template-tpl-contact .contact-info{min-width: inherit; max-width: none; width: 100%; display: block}
		.page-template-tpl-contact .contact-info > .editor-content{padding: 2rem}
	.page-template-tpl-contact .map-wrapper > iframe{position: static; width: 100%; height: 300px; top: auto}
}
@media (max-width: 992px){
	.builder-element > .element-inner,
	.element-primary .element-body{padding: 45px 0}
	
	.btn{min-width: inherit}
	.btn + .btn{margin-left: 1rem}
	
	h1{font-size: 2rem}
	h2{font-size: 1.8rem}
	
	.block-body .row-icons .col-icon{
		-ms-flex: 0 0 33.3334%;
		flex: 0 0 33.3334%;
		width: 33.3334%;
		max-width: 33.3334%;
		flex: 0 0 auto\0
	}
	.block-body .row-icons .col-icon:nth-child(n+4){margin-top: 1.6666666666666667rem; padding-top: 1.6666666666666667rem}
		.block-body .row-icons .col-icon:before, .block-body .row-icons .col-icon:nth-child(n+4):after{content: ''; display: block; position: absolute; background-color: #dfdfdf}
		.block-body .row-icons .col-icon:nth-child(4n+1):before{display: block!important}
		.block-body .row-icons .col-icon:nth-child(3n+1):before{display: none!important}
}
@media (max-width: 767px){
	.col-md-5 + .col-md-6,
	.col-md-6 + .col-md-6{margin-top: 45px}	
	.wpcf7 .col-md-6 + .col-md-6{margin-top: 1.3888888888888888rem}
	
	.block-body .row-icons .col-icon{
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		width: 50%;
		max-width: 50%;
		flex: 0 0 auto\0
	}
	.block-body .row-icons .col-icon:nth-child(n+3){margin-top: 1.6666666666666667rem; padding-top: 1.6666666666666667rem}
		.block-body .row-icons .col-icon:before, .block-body .row-icons .col-icon:nth-child(n+3):after{content: ''; display: block; position: absolute; background-color: #dfdfdf}
		.block-body .row-icons .col-icon:nth-child(4n+1):before,
		.block-body .row-icons .col-icon:nth-child(3n+1):before{display: block!important}
		.block-body .row-icons .col-icon:nth-child(2n+1):before{display: none!important}
		
	#sidebar{-ms-flex-order: 1; order: 1; margin-top: 50px}
	
	.narrow-block{padding-right: 0}
	
	.page-template-tpl-contact .contact-info > .editor-content{padding: 15px}
	
	.page-template-tpl-contact .contact-info > .editor-content .flex-stretch > .flex-item{
		-webkit-flex: 0 1 100%;
		-ms-flex: 0 1 100%;
		flex: 0 1 100%;
		flex: 0 0 auto\0;
		width: 100%
	}
	.page-template-tpl-contact .contact-info > .editor-content .flex-stretch > .flex-item + .flex-item{border: none}
}
@media (max-width: 600px){
	.block-body .row-icons .col-icon{
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		flex: 0 0 auto\0
	}
	.block-body .row-icons .col-icon:nth-child(n+2){margin-top: 1.6666666666666667rem; padding-top: 1.6666666666666667rem}
		.block-body .row-icons .col-icon:nth-child(n+2):after{content: ''; display: block; position: absolute; background-color: #dfdfdf}
		.block-body .row-icons .col-icon:before{display: none!important}

	.btn{display: block; width: 100%}
	.btn + .btn{margin: 15px 0 0 0}
	
	table.prices{font-size: 14px}
		table.prices td{padding: 5px}
}