body {font-family: "Montserrat", sans-serif; max-width: 100%; min-width: 320px; margin: 0 auto; position: relative; color: #333;}
a {color:inherit;text-decoration: none}
a:hover {text-decoration: none;color:inherit;}
div, img, h1, h2, p, a, iframe {transition: all ease 0.5s;}
img:hover {filter: brightness(120%);}
h1, h2, h3, h4, h5 {font-family: 'Roboto Slab', serif; font-weight: 300; padding: 0; margin: 0 0 30px; line-height: 1.2;}
h1, h2 {font-size: 50px; color: #102C4C;}
h3 {font-size: 38px;}
h4 {font-size: 26px;}
h5 {font-size: 20px;}
h6 {font-size: 13px; font-family: "Montserrat", sans-serif; color: #588BAD;}
ul, ol {padding-left: 25px; margin: 0;}
li {margin-bottom: 10px;}
p, li {font-size: 16px;}
p {font-family: "Open Sans", sans-serif; margin-top: 0; margin-bottom: 30px; line-height: 1.8;}
.dwn {display: block;}
.row {max-width: 1400px; margin: 0 auto; padding-left: 15px; padding-right: 15px;}

.blue {color: #588BAE!important;}

.cnIcon {padding-left: 25px; position: relative; display: inline-block;}
.cnIcon:before {width: 16px; height: 16px; left: 0; top: 50%; transform: translateY(-50%); background-size: 100% 100%; position: absolute; content: "";}
.cnPhone:before {background: url(../images/common/phoneIcon.png)no-repeat;}
.cnEmail:before {background: url(../images/common/emailIcon.png)no-repeat;}

.marginSmall {margin-bottom: 10px!important;}

/*floats*/
.fl {float:left;}
.fr {float:right;}

/*clearings*/
.clear {clear:both;}
.clearfix:after {content:"."; display:block; height:0; clear:both;visibility:hidden;font-size: 0;}
.clearfix {display:block;}

/*socials*/
.socials a {font-family: "socialico"; font-size: 39px; color: #FFFFFF; display: inline-block; margin: 0 5px;}
.socials a:first-of-type {margin-left: 0;}
.socials a:last-of-type {margin-right: 0;}
.socials a:hover {color: #D9BA8B; transform: rotateY(180deg);}

/*alignment*/
.alignLeft {text-align: left;}
.alignRight {text-align: right;}
.alignCenter {text-align: center;}

/*btn*/
.btn {font-size: 13px; padding: 20px 50px; line-height: 1.2; color: #fff!important; background: #588BAE; border-radius: 5px; display: inline-block;}
.btn:hover {background: #102C4C;}

/*contact form messages*/
form .messages p {display: none; font-family: "Arial"!important;font-weight: 400 !important;letter-spacing: 0 !important;font-size: 16px !important;}
form .loading {display: none;}
form .alert {padding: 15px !important;margin-bottom: 20px;border: 1px solid transparent !important;border-radius: 4px !important;}
form .alert-success {color: #3c763d !important;background-color: #dff0d8 !important;border-color: #d6e9c6 !important;}
form .alert-danger {color: #a94442 !important;background-color: #f2dede !important;border-color: #ebccd1 !important;}

/*contact form*/
.contactBox {width: 100%; margin:0 auto; padding:0 0 10px; background:#f1f1f1; border: 1px #ddd solid; color:#000;}
.contactBox p {padding: 0 10px 0!important; line-height: 1.4;}
.contactBox p strong {color: #588BAE; margin-bottom: 5px;}
.contactBox p a {color: #000!important;}
.contactBoxInfo {display: flex; justify-content: space-between; flex-wrap: wrap; padding: 20px 15px;}
.contactBoxInfo > div {padding: 0; margin: 0; width: calc(50% - 10px);}
.contactBoxInfo > div p:last-of-type {margin-bottom: 0;}
.ctc-form {text-align: center;}
.ctc-form input[type="text"],.ctc-form textarea {font-family: "Arial", sans-serif!important; font-size: 16px; color: #000; height: 45px; display: block; width: 100%; border:1px solid #ddd; border-radius: 3px; padding: 5px 10px; box-sizing: border-box; margin: 0 auto 8px}
.ctc-form textarea {height: 160px; padding-top:10px;}
.ctc-form button {border: none; margin-top: 10px; transition: all ease 0.5s;}
.ctc-form button:hover {background: #102C4C; transform: scale(1.05);}
.ctc-form .recap {display: inline-block;}
.ctc-hide, .hdMob {display: none;}
.ctc-flex {display: flex; justify-content: space-between;}
.ctc-two {width: calc(50% - 5px);}
.g-recaptcha > div {margin: 0 auto} 

/*header*/
#header {position: fixed; padding: 15px 0; left: 0; right: 0; top: 0; width: 100%; z-index: 9999;}
#header * {color: #fff; text-shadow: 0 0 5px #333;}
#header p {margin-bottom: 0;}
#header .row {max-width: 1600px; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
#header .row > div {width: calc(25% - 10px);}
#header .row > div.hdNav {width: calc(50% - 10px);}
#header.sticky {background: rgba(0,0,0,0.8); padding: 10px 0;}
#header.sticky .hdLogo img {max-width: 120px;}
.hdLogo {text-align: left;}
.hdLogo img {filter: drop-shadow(0px 0px 5px #333); width: 100%; max-width: 220px;}
.hdNav {text-align: center;}
.hdNav nav a#pull {display: none}
.hdNav nav ul {margin: 0;padding: 0}
.hdNav nav ul li {display: inline-block;vertical-align: middle; margin: 0 25px;}
.hdNav nav ul li:first-of-type{margin-left: 0px;}
.hdNav nav ul li:last-of-type{margin-right: 0px;}
.hdNav nav ul li a {font-size: 14px; padding: 5px 0; border-bottom: 3px solid transparent; color: #000; transition: all ease 0.5s;}
.hdNav nav ul li.active-menu a, .hdNav nav ul li a:hover {border-bottom: 3px solid #588BAE;}
.hdContact {text-align: right;}
.hdContact p {font-size: 14px;}

/*banner*/
#banner {min-height: 360px; height: 100vh; background: url(../images/common/bannerBg.jpg)no-repeat center center; background-size: cover; position: relative; text-align: center;}
#banner h2 {font-size: 70px;}
#banner .row {position: relative; min-height: 360px; height: 100vh;}
.bnInfo {position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: 0 auto; max-width: 1060px; z-index: 999; padding: 150px 15px 60px;}
.bnInfo * {color: #fff; text-shadow: 0 0 5px #333;}
.bnInfo .btn {text-shadow: none; margin-top: 30px;}

/*content*/
#content {background: linear-gradient(to right, #ffffff 70%, #eeeeee 30%); padding: 60px 0 120px;}
.cnBox .row {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.cnBoxLeft, .cnBoxRight, .abtLeft, .abtRight {width: calc(50% - 10px);}
.cnBoxRight img {width: 100%; display: block; min-height: 480px; object-fit: cover;}
.cnBoxInfo {max-width: 470px; margin-right: auto;}
.cnBoxInfo h6 {margin-bottom: 0;}

/*about*/
#about {background: #fff;}
#about .row {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; max-width: 100%; padding-left: 0; padding-right: 0;}
.abtInfo {max-width: 470px; margin-left: 240px; padding-right: 15px;}
.abtLeft img {width: 100%; display: block; min-height: 600px; object-fit: cover;}

/*contact*/
#contact {background: url(../images/common/contactBg.jpg)no-repeat center center; background-size: cover; padding: 60px 0; text-align: center;}

/*footer*/
#footer {background: url(../images/common/footerBg.jpg)no-repeat center center; background-size: cover; padding: 60px 0 30px;}
#footer * {color: #fff;}
#footer .row {max-width: 1600px;}
.ftTop {border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 20px;}
.ftLogo img {width: 95%; max-width: 300px;}
.ftInfo {max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between;}
.ftInfoLeft {width: 33.33%;}
.ftInfoRight {width: 66.66%; text-align: center; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.ftName {width: 100%;}
.ftName span {letter-spacing: 2px;}
.ftCopy {text-align: center; padding-top: 20px;}
.ftCopy p {font-size: 11px; margin-bottom: 0; text-transform: uppercase; letter-spacing: 3px; line-height: 1.4;}

/*inner pages*/
.inner #banner {background-position: center top;}
.inner #banner, .inner #banner .row {height: 40vw; max-height: 300px; min-height: 180px;}
.inner .bnInfo {display: none;}
.inner #content {min-height: 400px; background: #fff; padding: 80px 0;}
.inner #content h1 {text-align: center; position: relative; padding-bottom: 10px; margin-bottom: 50px;}
.inner #content h1:before {width: 120px; height: 5px; background: #588BAE; left: 0; right: 0; margin: 0 auto; bottom: 0; position: absolute; content: "";}

/*thanks*/
.inThanks {text-align: center;}
.inThankLogo img {width: 90%; max-width: 200px; filter: invert(100%) grayscale(100%); margin: 0 auto 30px;}

/*contact*/
.inConBox {text-align: center;}
.inConRow {display: flex; justify-content: space-between;}
.inConLeft, .inConRight {width: calc(50% - 30px);}
.inConLeft {text-align: left;}
.inConMap iframe {width: 100%!important; display: block; border: none; height: 240px!important;}

/*product*/
.inProdIntro {padding-bottom: 30px;}
.inProdList {display: flex; flex-wrap: wrap; justify-content: space-between;}
.inProdListImg {width: calc(33.33% - 10px);}
.inProdListImg img {width: 100%!important; max-width: 280px; margin: 0 auto; display: block; border: 1px solid #ddd;}
.inProdListInfo {width: calc(66.66% - 10px);}