@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&family=Sail&display=swap');


/*
font-family: 'Montserrat', sans-serif;
font-family: 'Sail', sans-serif;
*/

* { margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-box-sizing: border-box; -webkit-text-size-adjust: none; }
html, body { width: 100%; font-size: 20px; line-height: 1.1; color: #5b5b5b; font-family: 'Montserrat', sans-serif; background: #fff; }
/*font-family: 'Lato', sans-serif; */
*::-webkit-input-placeholder { opacity:1; color: #5b5b5b; }
*::-moz-placeholder {opacity:1;color: #333; }
*:-ms-input-placeholder {opacity:1;color: #333;}

input[type=checkbox]{ -webkit-appearance: checkbox; margin: 5px 0 0 5px; display: inline-block; vertical-align: top;}
button, input, textarea, select { -webkit-appearance: none; -webkit-border-radius: 0px; font-family: 'Montserrat', sans-serif; }

:focus,input:focus, textarea:focus { outline: none; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
:focus { outline: none; }

/* common */
a { transition: all 0.3s; -webkit-transition: all 0.3s; -ms-transition: all 0.3s; text-decoration: none; outline: none; }
ul { list-style: none; }
.clear { clear: both; overflow: hidden; }
img { border: 0px; outline: none; display: block; max-width: 100%; }

h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; font-weight: 400; }

#back-to-top { box-shadow: 0px 0px 15px rgba(0,0,0,0.4) inset; -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.4) inset; -ms-box-shadow: 0px 0px 15px rgba(0,0,0,0.4) inset; position: fixed; bottom: 20px; display: none; right: 15px; z-index: 9999; width: 34px; height: 34px; cursor: pointer; border-radius: 50%; -webkit-border-radius: 50%; transition: opacity 0.2s ease-out; -webkit-transition: opacity 0.2s ease-out; opacity: 0; background: #006bb6; }
#back-to-top:after { width: 0px; height: 0px; content: ''; position: absolute; left: 50%; top: 50%; border: 10px solid transparent; border-bottom-color: #fff; margin: -15px 0 0 -10px; }
#back-to-top.show { opacity: 0.8; }
#back-to-top.show:hover { opacity: 1; }
a.close, a.mobilemenu { display: none; }
.d-flex { display: flex; flex-wrap: wrap; }
.a-center { align-items: center; }
.j-center { justify-content: center; }
.space-between { justify-content: space-between; }

/* wrapper */
#wrapper { width: 100%; min-height: 100%; position: relative; max-width: 100%; margin: 0 auto; }
.centering { max-width: 1170px; margin: auto; position: relative; }

/* header-part */
#header-part { padding: 0 60px; position: absolute; left: 0px; top: 0px; z-index: 100; width: 100%; height: 90px; background: #233c7a; }
#header-part span.heading { padding-top: 5px; display: block; color: #fff; font-weight: 400; font-size: 26px; letter-spacing: 0.03em; }
#header-part #menu { padding: 185px 50px 40px 30px; position: absolute; right: 0px; top: 0px; display: none; width: 500px; height: 100vh; background: rgba(62,67,74,0.5); }
#header-part #menu a.close { position: absolute; right: 15px; top: 20px; width: 55px; height: 55px; display: block; }
#header-part #menu a.close:before,
#header-part #menu a.close:after { content: ""; position: absolute; left: -10px; top: 20px; width: 70px; height: 3px; background: #fff; transform: rotate(45deg); }
#header-part #menu a.close:after { transform: rotate(-45deg); }
#header-part #menu ul { list-style: none; }
#header-part #menu li { padding-bottom: 37px; line-height: 1.2; font-size: 34px; text-align: right; }
#header-part #menu li a { color: #fff; }
#header-part #menu li a:hover { color: #243c7a; }
#header-part #menu { }
#header-part a.mobilemenu { padding-bottom: 25px; display: flex; align-items: center; justify-content: center; position: absolute; right: 0px; top: 0px; width: 90px; height: 90px; background: #3e434a; font-size: 0px; }
#header-part a.mobilemenu span { display: block; width: 45px; height: 3px; position: relative; border-radius: 2px; background: #fff; }
#header-part a.mobilemenu span:before,
#header-part a.mobilemenu span:after { content: ""; width: 100%; height: 3px; position: absolute; left: 0px; top: 13px; border-radius: 2px; background: #fff;  }
#header-part a.mobilemenu span:after { top: 26px; }
#header-part { }

/* content-part */
#content-part { padding-top: 90px; z-index: 99; width: 100%; position: relative; }

	/* banner-sec */
	.banner_sec { position: relative; }
	.banner_sec a.logo { display: block; position: absolute; left: 34px; top: 18px; max-width: 122px; }
	.banner_sec a.logo img { max-width: 100%; }
	.banner_sec img.banner { display: block; height: 788px; width: 100%; object-fit: cover; object-position: top; }
	.banner_sec.innerpage { }
	.banner_sec.innerpage img.banner { height: 448px; }
	.banner_sec.innerpage { }
	.banner_sec.gallerypage { height: 164px; background: #bfe6e5; }
	.banner_sec.gallerypage { }
	
	.heading_sec { padding: 32px 0px 28px 0px; background: #83bbbc; }
	.heading_sec .centering { padding: 0px 15px 0px 60px; max-width: 1320px; }
	.heading_sec h1 { padding-bottom: 8px; color: #233C7A; font-size: 31px; letter-spacing: 0.01em; }
	.heading_sec p { padding-bottom: 20px; color: #fff; line-height: 32px; font-size: 21px; letter-spacing: 0.005em; }
	.heading_sec h4 { padding-bottom: 14px; color: #233C7A; font-size: 31px; line-height: 52px; letter-spacing: 0.015em; }
	.heading_sec.subcont { padding-bottom: 15px; }
	
	.text_sec { padding: 32px 0px 23px 0px; background: #83bbbc; }
	.text_sec .wrapper { padding: 0px 15px 0px 70px; max-width: 1338px; margin: 0 auto; }
	.text_sec h1,
	.text_sec h2 { padding-bottom: 12px; color: #233c7a; font-size: 32px; line-height: 42px; font-weight: 400; }
	.text_sec h2 { padding-bottom: 14px; }
	.text_sec p { padding-bottom: 30px; color: #fff; letter-spacing: 0.01em; font-size: 21px; line-height: 32px; }
	.text_sec p a { color: #233c7a; font-weight: 600; text-decoration: none; border-bottom: #009a96 solid 1px; }
	.text_sec p a:hover { text-decoration: none; }
	.text_sec.whitebg { padding: 27px 0px 29px 0px; background: #fff; }
	.text_sec.whitebg h2, .text_sec.whitebg p, .text_sec.whitebg li { color: #3E434A; }
	.text_sec.whitebg h2 { padding-bottom: 3px; font-size: 24px; font-weight: 600; }
	.text_sec.whitebg ul { padding-bottom: 20px; list-style: none; }
	.text_sec.whitebg ul li { padding-left: 25px; position: relative; line-height: 31px; font-size: 21px; font-weight: 500; }
	.text_sec.whitebg ul li:before { content: ""; position: absolute; left: 0px; top: 15px; width: 4px; height: 4px; border-radius: 50%; background: #3E434A; }
	.text_sec.whitebg { }
	.text_sec.designpage { padding: 34px 0px 29px 0px; }
	
	.about_sec { padding: 30px 0px 0px 0px; background: #767676; }
	.about_sec .wrapper { padding: 0px 105px 0px 70px; max-width: 1338px; margin: 0 auto; }
	.about_sec h3 { padding-bottom: 0px; color: #233c7a; font-size: 24px; line-height: 34px; font-weight: 600; }
	.about_sec p { padding-bottom: 30px; color: #fff; letter-spacing: 0.01em; font-size: 21px; line-height: 32px; }
	.about_sec .tagline { margin-top: 13px; width: 100%; background: #009a96; }
	.about_sec .tagline p { padding: 12px 15px 19px 70px; max-width: 1338px; margin: 0 auto; font-size: 19px; letter-spacing: 0.02em; }
	
	.quote_sec { padding: 54px 0px 0px; background: #eceded; }
	.quote_sec .centering { max-width: 1220px; padding-bottom: 40px; }
	.quote_sec { }
	.quote_sec span.icon { display: block; color: #009A96; font-family: 'Sail', sans-serif; position: absolute; left: -74px; top: -22px; font-size: 100px; }
	.quote_sec blockquote { padding: 0px 35px 36px 0px; font-size: 18px; color: #009A96; font-weight: 600; font-style: italic; line-height: 30px; letter-spacing: 0.015em; }
	.quote_sec h4 { color: #009A96; font-size: 18px; }
	.quote_sec h4 strong { font-weight: 700; }
	.quote_sec { }
	.quote_sec { }
	.quote_sec .tagline { margin-top: 13px; width: 100%; background: #009a96; }
	.quote_sec .tagline p { padding: 20px 15px 19px 70px; max-width: 1338px; margin: 0 auto; font-size: 19px; letter-spacing: 0.02em; color: #fff; }
	.quote_sec.tagonly { padding-top: 0px; background: none; }
	.quote_sec.tagonly .tagline{ margin: 0px; }
	.quote_sec { }
	
	.contact_sec { padding: 89px 0px 110px 0px; background: #eceded; }
	.contact_sec form { padding: 0px 0px 0px 15px; margin: 0px; max-width: 775px; }
	.contact_sec .centering { max-width: 1230px; }
	.contact_sec input.field,
	.contact_sec textarea { margin-bottom: 58px; font-size: 16px; width: 100%; height: 45px; border: 0px; display: block; background: none; border-bottom: #233C7A solid 1px; }
	.contact_sec textarea { padding: 21px 0px; height: 222px; resize: none; margin-bottom: 42px; }
	.contact_sec input.submitbtn { display: block; width: 167px; height: 46px; border-radius: 10px; color: #fff; font-size: 18px; font-weight: 600; border: 0px; cursor: pointer; background: #009A96; }
	.contact_sec input.submitbtn:hover { background: #000; }
	.contact_sec.subcontract { padding: 51px 0px 55px; background: #fff; }
	.contact_sec.subcontract h2,
	.contact_sec.subcontract h3,
	.contact_sec.subcontract h4 { padding-bottom: 8px; font-size: 24px; font-weight: 700; color: #233C7A; }
	.contact_sec.subcontract h3 { padding-bottom: 26px; font-size: 21px; }
	.contact_sec.subcontract h4 { padding-bottom: 10px; font-size: 16px; }
	.contact_sec.subcontract .centering { max-width: 1200px; }
	.contact_sec.subcontract .intro { padding-bottom: 5px; }
	.contact_sec.subcontract p { padding-bottom: 20px; color: #233C7A; font-size: 21px; }
	.contact_sec.subcontract form { padding-left: 0px; }
	.contact_sec.subcontract .radiobuttons { padding: 0px 0px 24px; }
	.contact_sec.subcontract .radiobuttons label { margin-bottom: 11px; display: block; font-size: 17px; color: #233C7A; font-weight: 700; }
	.contact_sec.subcontract .radiobuttons label input { display: none; }
	.contact_sec.subcontract .radiobuttons label span { padding-left: 57px; line-height: 45px; position: relative; display: block; font-size: 16px; }
	.contact_sec.subcontract .radiobuttons label span:before { content: ""; position: absolute; left: 0px; top: 0px; width: 41px; height: 41px; border-radius: 50%; border: #b6b7b7  solid 1px; background: #f0f2f3; }
	.contact_sec.subcontract .radiobuttons label input:checked + span:after { content: ""; position: absolute; left: 6px; top: 6px; width: 29px; height: 29px; border-radius: 50%; border: #b6b7b7  solid 1px; background: #233C7A; }
	.contact_sec.subcontract .radiobuttons label { }
	.contact_sec.subcontract .radiobuttons label { }
	.contact_sec.subcontract .radiobuttons { }
	.contact_sec.subcontract input.field,
	.contact_sec.subcontract textarea { padding: 0 15px; margin-bottom: 15px; font-size: 16px; width: 100%; height: 55px; background: #f0f2f3; border: 0px; border-radius: 2px; max-width: 595px; }
	.contact_sec.subcontract .error { border: #f00 solid 1px !important; }
	.contact_sec.subcontract fieldset { padding-bottom: 20px; }
	.contact_sec.subcontract p.small { font-size: 16px; color: #333; }
	.contact_sec.subcontract h3.gap1 { padding-bottom: 10px; }
	.contact_sec.subcontract textarea { height: 292px; padding: 15px; }
	.contact_sec .form-error { padding-top: 20px; font-size: 16px; color: #f00; padding-top: 20px; font-weight: 500; display: block; }
	.contact_sec .successmsg { padding-top: 20px; font-size: 16px; color: #063; padding-top: 20px; font-weight: 500; display: block; }
	.contact_sec { }
	.contact_sec { }
	.contact_sec.subcontract { }
	
	.gallery_sec { padding: 8px 0px 28px; }
	.gallery_sec .centering { padding: 0 23px 0 7px; max-width: 1232px; }
	.gallery_sec ul { list-style: none; }
	.gallery_sec ul li { width: 33.33%; padding: 12px; }
	.gallery_sec ul li a { overflow: hidden; display: block; position: relative; }
	.gallery_sec ul li a img { transition: 0.3s all; }
	.gallery_sec ul li a:hover img { transform: scale(1.1); }
	.gallery_sec ul li a:after { content: ''; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background: #233c7a; opacity: 0; transition: 0.3s all; }
	.gallery_sec ul li a:hover:after { opacity: 0.4; }
	.gallery_sec { }
	
#footer-bar { background: #3e434a; }
#footer-bar .footer-top { padding: 27px 0px 30px; }
#footer-bar .wrapper { padding: 0 15px 0 20px; max-width: 1395px; margin: 0 auto; }
#footer-bar .footer-top .logo { width: 85px; padding-right: 14px; }
#footer-bar .footer-top .col1 { padding: 16px 40px 0px 0px; width: 368px; }
#footer-bar .footer-top .col1 p { padding-bottom: 24px; color: #fff; font-size: 13px; line-height: 19px; text-transform: uppercase; }
#footer-bar .footer-top p a { color: #fff; border-bottom: #009a96 solid 1px; }
#footer-bar .footer-top ul { list-style: none; }
#footer-bar .footer-top ul li { padding-right: 10px; }
#footer-bar .footer-top ul li a { display: block; max-width: 50px; }
#footer-bar .footer-top .col2 { padding: 12px 0px 0px; width: 365px; }
#footer-bar .footer-top .col2 h3 { padding-bottom: 18px; color: #83bbbc; font-size: 31px; }
#footer-bar .footer-top .col2 p { color: #fff; font-size: 22px; line-height: 32px; letter-spacing: -0.01em; }
#footer-bar .footer-top .col2 { }
#footer-bar .footer-bottom { padding: 0; background: #243c7a; }
#footer-bar .footer-bottom p { padding-left: 15px; font-size: 12px; color: #fff; }
#footer-bar .footer-bottom .wrapper { height: 51px; }
#footer-bar .footer-bottom span.heading { color: #fff; font-size: 14px; }
#footer-bar .footer-bottom a { color: #fff; border-bottom: #009a96 solid 1px; font-size: 12px; }
#footer-bar .footer-bottom span.heading span { text-transform: uppercase; }
