/* --------------------------------
PRIMARY STYLES
-------------------------------- */
*, *::after, *::before { box-sizing: border-box; }
body {
	font-family: sans-serif;
	font-weight: normal;
	line-height: 1;
	color: white;
	background-color: #122945;
}

h1, h2, h3, h4 {
	font-family: "Jura", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
	margin-bottom: 1em;
	color: #8acbc1;
}
h1 { font-size: 48px; }
h2 { font-size: 32px; }
h3 { font-size: 24px; color: #51aee2; }
h4 { font-size: 16px; }

table { width: 100%; }
th, td { font-size: 14px; line-height: 1; }

ul, ol, p { 
	font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
	font-size: 14px;
	line-height: 2;
	margin-bottom: 2em;
}

a { 
	color: white;
	transition: all .5s ease;
	text-decoration: none;
}
a:hover {  }

b, strong { font-weight: 600; }
i, em { font-style: italic; }

/* --------------------------------
EFFECTS
-------------------------------- */
.txt-shadow { text-shadow: 1px 1px 40px black; }
.bx-shadow,
.bx-shadow-hover:hover {
	-webkit-box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
	box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
}
.opacity-hover:hover { opacity: .5; }

/* --------------------------------
BUTTONS
-------------------------------- */
.btns { cursor: pointer; }
.btn-more {
	font-family: "Jura", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
	padding: 1em 2em;
	display: inline-block;
	transition: all .5s ease;
	border-radius: .5em;
}
.btn-more:hover {  }
.btn-more i { font-size: 60%; padding-left: .5em; transition: all .5s ease; }
.btn-more:hover i { padding-left: 2em; }
.btn-more.bg { background: #8acbc1; }
.btn-more.bg:hover { background: #51aee2; }

#backtotop {
	display: none;
	z-index: 999;
	position: fixed;
	top: calc(50% - 1.5em); right: 1em;
	width: 3em;
	height: 3em;
	line-height: 3em;
	text-align: center;
	background: #8acbc1;
	color: white;
	border-radius: .5em;
	transition: all .5s ease;
}
#backtotop:hover { background: #51aee2; }

/* -------------------------------- 
VIDEO
-------------------------------- */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe,
.embed-container object,
.embed-container embed,
.embed-container video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------
FORMS
-------------------------------- */
form { position: relative; width: 100%; }
textarea,
select,
.input-text,
.input-submit {
	display: inline-block;
	transition: all .5s ease;
	font-family: "Jura", sans-serif;
  font-optical-sizing: auto;
	font-weight: 700;
	color: #122945;
	font-size: 18px;
	line-height: 1;
	width: 100%;
	padding: 1em;
	margin-bottom: 1em;
	outline: none;
	border: none;
	border-radius: .5em;
}
textarea { height: 160px; }

.input-submit {
	float: right;
	background: #8acbc1;
	color: white;
	padding: 1em 2em;
	width: auto;
}
.input-submit:hover { background: #51aee2; }

.wpcf7-not-valid-tip {
	font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
	line-height: 1;
	padding: 0 1em 1em;
}
.wpcf7-response-output {
	font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  display: inline-block;
  padding: 1em !important;
}

/* --------------------------------
HEADER
-------------------------------- */
header {
	z-index: 999;
	position: fixed;
	top: 0; left: 0;
	width: 100%;
	padding: 2em 0;
	transition: all .5s ease;
}
header.active { background-color: #122945; }

/* --------------------------------
NAV
-------------------------------- */
nav { 
	display: none;
  text-align: center;
  top: 1em; left: 1em;
  position: fixed;
  width: calc(100% - 2em);
  height: calc(100vh - 2em);
  background: #122945;
  padding: 4em 2em;
}

header ul { margin: 0; }
header ul li a {
	font-family: "Jura", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 20px;
	position: relative;
	color: #8acbc1;
	display: inline-block;
	padding: 0 .5em;
	transition: all .5s ease;
}
header ul li.current-menu-item > a,
header ul li a:hover { color: white; }

header ul li.btn-contact a {
	padding: .2em 1em;
	border-radius: .5em;
	background: #8acbc1;
	color: white;
	margin: .5em;
}
header ul li.btn-contact a:hover { background: #51aee2; }

header ul .menu-item-has-children { position: relative; }
header ul .menu-item-has-children > a { padding: 0 .75em 0 .5em; margin-right: .5em; }
header ul .menu-item-has-children > a::after {
	font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-size: 50%;
  font-weight: 900;
  content: "\f107";
  position: absolute;
  top: 50%; right: 0;
  line-height: 0;
  color: #c7cdd1;
}
header ul .menu-item-has-children a:hover + .sub-menu,
header ul .menu-item-has-children .sub-menu:hover { display: block !important; }

header ul .sub-menu { 
	display: none !important;
	position: relative;
	height: auto;
	top: 100%; right: 0;
	padding: .5em;
	background: #122945;
	text-align: center;
	border-left: 2px solid rgba(81, 174, 226, .2);
}
header ul .sub-menu li { display: block; }

.nav-toggle {
	-webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: pointer;
  position: relative;
  z-index: 3;
  display: inline-block;
  height: 100%;
  width: 1.5em;
  float: right;
}
.nav-toggle:hover .nav-toggle-bar,
.nav-toggle:hover .nav-toggle-bar::after,
.nav-toggle:hover .nav-toggle-bar::before { background: white; }

.nav-toggle .nav-toggle-bar,
.nav-toggle .nav-toggle-bar::after,
.nav-toggle .nav-toggle-bar::before {
	position: absolute;
	top: 50%; left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	background: white;
	content: '';
	height: .1em;
	width: 100%;
}
.nav-toggle .nav-toggle-bar { margin-top: 0; }
.nav-toggle .nav-toggle-bar::after { margin-top: 0.4em; }
.nav-toggle .nav-toggle-bar::before { margin-top: -0.4em; }

.nav-toggle.expanded .nav-toggle-bar { background: transparent; }
.nav-toggle.expanded .nav-toggle-bar::after,
.nav-toggle.expanded .nav-toggle-bar::before { background: white; margin-top: 0; }
.nav-toggle.expanded .nav-toggle-bar::after {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav-toggle.expanded .nav-toggle-bar::before {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* -------------------------------- 
SLIDER
-------------------------------- */
.slider { }
.slider .slide { position: relative; width: 100%; height: 100%; }

.slick-dots { bottom: 2em; }
.slick-dots li { width: 12px; height: 12px; }
.slick-dots li button { 
	background: #8acbc1;
	width: 100%;
	height: 100%;
	transition: all .5s ease;
}
.slick-dots li.slick-active button { transform: scale(1.5); }
.slick-dots li button::before,
.slick-dots li.slick-active button::before { opacity: 0 !important; }

/* --------------------------------
ARTICLE & SECTIONS
-------------------------------- */
article { overflow: hidden; }
section { 
	position: relative;
	width: 100%;
	line-height: 0;
	padding: 2em 0;
}
section ul,
section ol { margin-bottom: 2em; }
section ul { list-style: disc; }
section ol { list-style: numeric; }

.container { margin: 0 auto; position: relative; }
.inner { padding: 0 2em; }

.desktop-hide {}
.desktop-show { display: none; }

.table-align { display: table; width: 100%; height: 100%; }
.table-cell-align { display: table-cell; vertical-align: middle; }
.table-cell-align.bottom { vertical-align: bottom; }

.last { margin-bottom: 0 !important; }
.align-h { height: 100%; }
.center { text-align: center; }
.right { text-align: right; }

.hero { padding: 0; }
.hero.no-thumb { padding-top: 7.5em; }
.hero .hero-img { position: relative; }
.hero .hero-img img {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: auto;
}
.hero .hero-overlay {
	z-index: 2;
	position: relative;
	top: -15vh; left: 0;
	margin-bottom: -15vh;
	width: 100%;
	height: 100%;
	padding: 2em 0;
}
.hero .hero-overlay h2 { margin-bottom: .25em; }

.intro {}
.intro h1 { color: white; }

.line {}
.line::after {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 1px;
  background: rgba(81, 174, 226, .2);
  content: "";
}

.bg { background: rgba(81, 174, 226, .1); }

.cta {}
.cta a { color: inherit; }
.cta a:hover { text-decoration: none; color: #8acbc1; }

.cta .icons { list-style: none; line-height: 2.5; }
.cta .icons li a i { 
	background: #8acbc1;
	color: white;
	display: inline-block;
	height: 100%;
	border-radius: 50%;
	padding: 1em;
	font-size: 11px;
	line-height: 1;
	margin-right: 1em;
	transition: all .5s ease;
}
.cta .icons li a:hover i { background: #51aee2; }

/* --------------------------------
FOOTER
-------------------------------- */
footer { 
	width: 100%;
	padding: 3em 0;
	background: #8acbc1;
}
footer h4 { color: white; margin-bottom: 1em; }
footer p,
footer ul { color: inherit; line-height: 2.5; margin-bottom: 2em; }
footer a { color: inherit; }
footer a:hover { text-decoration: none; color: #122945; }

footer ul li a i { 
	background: #122945;
	display: inline-block;
	height: 100%;
	border-radius: 50%;
	padding: 1em;
	font-size: 11px;
	margin-right: 1em;
	transition: all .5s ease;
}
footer ul li a:hover i { background: white; color: #122945; }

footer p.logo { margin-bottom: 6em; }

/* --------------------------------
MEDIA QUERIES
-------------------------------- */
@media screen and (min-width: 35.5em) {
	.container { width: 568px; }

	.float-l { float: left; margin: 0 2em 2em 0; }
	.float-r { float: right; margin: 0 0 2em 2em; }

	.hero .hero-overlay { top: -20vh; margin-bottom: -20vh; }
}
@media screen and (min-width: 48em) {
	.container { width: 768px; }
}
@media screen and (min-width: 64em) {
	.container { width: 1024px; }

	.desktop-hide { display: none; }
	.desktop-show { display: block; }

	h1 { font-size: 70px; }
	h2 { font-size: 50px; }
	h3 { font-size: 32px; }
	h4 { font-size: 24px; }

	th, td,
	ul, ol, p { font-size: 16px; }

	nav {
		display: block !important;
		text-align: right;
		background: transparent;
		position: relative;
		top: 0; left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
	}

	header ul { margin: 0; height: 100%; }
	header ul li { display: inline; }
	header ul li a { font-size: 16px; }
	header ul .sub-menu {
		position: absolute;
		top: calc(100% + .5em);
		text-align: left;
		padding: 1em .5em;
	}
	header ul .menu-item-has-children > a { padding: .5em .75em .5em .5em; }

	section { padding: 4em 0; }

	.hero.boxed { padding: 7.5em 0 0; }
	.hero .hero-overlay { position: absolute; top: 0; padding: 4em 0; }
	.hero .hero-overlay h1 { font-size: 40px; color: white; }

	footer { padding: 6em 0; }
}
@media screen and (min-width: 80em) {
	.container { width: 1200px; }
}
@media screen and (min-width: 120em) {
	.hero .hero-img { width: 1920px; left: calc(50% - 960px); }
}

/* IE11
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop,
	[data-aos^=fade][data-aos^=fade],
	[data-aos^=zoom][data-aos^=zoom] { opacity: 1; }
}*/