html {box-sizing: border-box;}
*, *::before, *::after {;box-sizing: inherit;}

.suspension-contain {max-height: 980px;overflow:hidden;position: relative;}
html.suspended {background: rgba(0,0,0,0.6);}
body {max-width: 100%;min-width: 1200px;margin: 0 auto;text-align: center;font-family: 'Open Sans', sans-serif}
a {color:inherit;text-decoration: none;word-break: break-word; transition: all ease-out 0.3s;}
a:hover {text-decoration: none;color:#54BCEB; }
h1,h2,h3,h4,h5,h6 {padding:0; margin: 0 0 20px 0; font-family: 'Playfair Display', serif;}
h1 {font-size: 50px; color: #53BBEB;}
h2 {font-size: 40px; color: #53BBEB;}
h3 {font-size: 35px;}
h4 {font-size: 30px;}
h5 {font-size: 25px;}
h6 {font-size: 20px;}
p {margin: 0 0 20px; line-height: 1.8; letter-spacing: 0.3px;}
ul {padding-left: 20px; margin: 0;}
i span {display: none !important;}
strong {color: #EC5401;}
.row {max-width: 1630px;margin: 0 auto;padding: 0 15px;}
.col {padding: 0 15px;}
.flex {display: flex; flex-direction: row;}
.block {display: block;}
.center-block {display: block; margin-left: auto;margin-right: auto;}
.img-block {margin: 0 auto 30px; display: block; max-width: 100%; height: auto;}

/*logo*/
.logo {display: block;}
.logo img {display: block; transition: all ease-out 0.3s;}
.logo img:hover {transform: scale(1.03);}

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

/*typography*/
.text-primary{color: #B11414;}
.text-bold{font-weight: 700;}
.text-uppercase{text-transform: uppercase}
.text-center{text-align: center !important;}
.text-left{text-align: left;}
.text-right{text-align: right;}

/*button*/
.btn {font-size: 14px; font-weight: 700; color: #FFF; display: inline-block; padding: 15px 30px; font-family: 'Playfair Display', serif; background: #54BCEB; border: 0; transition: all 0.5s ease;}
.btn:hover {background: #333;color: #fff;}

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

/*cookie*/
.cc-animate.cc-revoke.cc-bottom{font-size: 14px; padding: 5px 10px; position: fixed; display: block!important; transform: none!important; bottom: 0!important; left: 20px!important;}

/*call to action*/
.destroy-on-load, .cta {display: none;}

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

/*contact form*/
.ctc-form {margin: 0 auto;text-align: center;}
.ctc-form input[type="text"],.ctc-form textarea {font-size: 16px;font-family: 'Titillium Web', sans-serif;color: #000;height: 60px;display: block;width: 100%;border: 1px solid #D6D6D6;padding: 10px 20px;box-sizing: border-box;margin: 0 auto 10px;}
.ctc-form textarea {height: 150px;padding-top:10px; margin-bottom: 30px;}
.ctc-form button {font-size: 14px; font-weight: 700; color: #FFF; display: block; padding: 15px 30px; font-family: 'Playfair Display', serif; background: #54BCEB; border: 0; transition: all 0.5s ease;}
.ctc-form button:hover {background: #333;color: #fff;}
.ctc-form .recap {display: inline-block;}
.ctc-form .g-recaptcha div {margin: 0 auto 10px;}
.ctc-form .ctc-hide {display: none;}

/*gallery*/
#content .gallery-container {text-align: center;}
#content .gallery {list-style-type: none;margin: 0;padding: 0;}
#content .gallery li {display: inline-block;}
#content .thumbnail {background-color: #fff;border: 1px solid #ddd;border-radius: 4px;display: block;line-height: .42857; margin-bottom: 20px;padding: 4px;transition: border 0.5s ease-in-out 0s;}
#content .thumbnail:hover {transform: scale(1.02);}
#content .page_navigation {display: inline-block;}
#content .page_link,#content .previous_link,#content .next_link,#content  .first_link,#content  .last_link, #content .ellipse {background-color: #fff;border: 1px solid #ddd;color:  #0275d8;display: inline-block;line-height: 1.25;margin-left: -1px;padding: 0.5rem 0.75rem;position: relative;}
#content .page_navigation > a:hover , .page_navigation > a.active_page {background-color: #eceeef;border-color: #ddd;color: #014c8c;text-decoration: none;}

/*header*/
#header {font-family: 'Titillium Web', sans-serif; padding: 25px 0;}
#header .contain {display: flex; justify-content: space-between; align-items: center;}
#header .info {display: flex; }
#header .info p { font-size: 18px; font-weight: 700; margin: 0;padding: 10px 0;}
#header .info p:nth-child(2) {margin: 0 25px;}
#header .info p i {font-size: 14px; color: #54BCEB; margin-right: 5px;}
#header nav a#pull {display: none}
#header nav {font-size: 0;}
#header nav ul {margin: 0;padding: 0}
#header nav ul li {display: inline-block;vertical-align: middle;}
#header nav ul li a {padding: 10px 30px;font-size: 16px;}
#header nav ul li.active-menu a, #header nav ul li a:hover {color:#54BCEB;}
/* .featured-logo-container { position: absolute; bottom: 0; right: 0; } */
.featured-image-slider { width: 100%; max-width: 150px; padding-bottom: 50px; margin: 0 auto; }
.featured-image-slider .slide-item a { display: inline-block; }
.featured-image-slider .slide-item img { width: 100%; object-fit: cover; object-position: center; }

/*banner*/
#banner {position: relative;}
#banner .bg {display: block; width: 100%; height: auto;}
#banner .caption {position: absolute;top: 0;max-width: 400px;}
#banner .caption h2 {font-size: 30px; color: #1D1D1D;}
#banner .caption h2 span {display: block; color: #C11B17; padding-top: 15px;}
#banner .caption .logo img {padding: 0 0 40px; margin: 0 auto; width: 100%; max-width: 300px; }
/* #banner .caption .logo img { width: 100%;} */

/*content*/
.do {padding-top: 10px;}
.do .small {font-size: 14px; font-family: 'Titillium Web', sans-serif; letter-spacing: 6px; margin-bottom: 0;}
.do .services {display: flex; justify-content: space-between;}
.do .services .item {align-items: flex-start;text-align: left; padding: 40px 25px; display: flex; flex-direction: column; height: 250px; justify-content: center; background: #EEEEEE; transition: all ease-out 0.3s; margin: 0 10px 20px;}
.do .services.first .item {width: calc(100% / 6); max-width: 250px; }
.do .services.second .item {width: calc(100% / 5); max-width: 300px; }
.do .services .item .btn {border: 1px solid transparent;}
.do .services .item:hover .btn {background: initial; border-color: #FFF;}
.do .services .item .btn:hover {background: #333;}
.do .services .item h4 {color: #525252; margin-bottom: 10px;}
.do .services .item h4 span {display: block;}
.do .services .item:hover {background: #54BCEB;}
.do .services .item:hover h4 {color: #FFF;}

.about {padding: 40px 0 60px;}
.about .row {max-width: 1390px;}
.welcome {padding: 0 0 60px;}
.welcome .row {max-width: 1390px;}
.welcome .small {border-top: 1px solid #CCCCCC;padding-top: 60px;font-size: 14px; font-family: 'Titillium Web', sans-serif; letter-spacing: 6px; margin-bottom: 0;}
.welcome h3 {max-width: 1100px;margin: 0 auto 20px;}
.welcome h1 {font-size: 40px;}
.ready {background: #EEEEEE; padding: 80px 0 40px;}
.ready .row {max-width: 1390px}
.ready h2 {color: #000;}
.ready form .flex label {width: 100%; margin: 0 5px; font-family: 'Titillium Web', sans-serif;}
.ready form .flex {margin: 0 -5px;}
.ready form .g-recaptcha {margin-top: 20px;}

/*footer*/
#footer {padding-top: 30px; background: url('../images/common/footer-bg.jpg') top center no-repeat; background-size: cover; color: #FFF;}
#footer .row {max-width: 1230px;}
#footer h2 {color: #FFF;}
#footer form .flex:nth-child(2) label {max-width: 400px;}
#footer .logo img {max-width: 325px; margin: 0 auto 20px; width: 100%;}
#footer .subtitle {max-width: 760px;margin: 0 auto 20px;}
#footer .hours span {display: block; font-weight: 700; font-size: 18px;}
#footer .info {display: flex; justify-content: space-between; border-bottom: 2px solid #D6D6D6;}
#footer .info p .title {font-size: 14px;letter-spacing: 2px; display: block;}
#footer .info p .address {margin-top: 10px; display: block;}
#footer .info p.phone a {font-size: 24px; font-weight: 600; line-height: 1;}
#footer .info p {position: relative;padding: 10px 10px 20px 90px;text-align: left;font-family: 'Titillium Web', sans-serif;font-size: 16px;max-width: 320px;margin: 0;width: 100%;}
#footer .info p.add{max-width: 400px}
#footer .info p i {background: #54BCEB;line-height: 70px;width: 70px;border-radius: 10px;font-size: 30px;position: absolute;left: 0;text-align: center;top: 0;}
#footer .silver {font-size: 15px; padding: 20px 0; margin: 0;}
#footer .silver img {display: inline-block;vertical-align: middle;max-width: 50px}

/*inner pages*/
.inner #header {box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);}
.inner #content {min-height: 400px;padding: 40px 0}
.inner #content .row{ max-width:1220px;margin:0 auto;}
.inner #content h1{ font-size:60px; color:#53BBEB; font-family:'Playfair Display', serif; line-height:120%}
.inner #content p{ font-size:18px; color:#545454; font-family:'Open Sans', sans-serif; line-height:180%}

.inner #content .svc-pg dl {margin: 0 auto 50px;box-shadow:  0px 0px 8px #545454}
.inner #content .svc-pg dt {background: #53BBEB;color:#fff;font-weight: 700;font-size: 35px;padding:5px 20px;}
.inner #content .svc-pg dd {margin: 0 auto;padding: 5px 20px}
.inner #content .svc-pg dl img{float: left; width: 100%; max-width: 200px; margin: 5px 20px 20px 0;} 

/*privacy policy*/
.inPrivacyBox {max-width: 850px; margin: 0 auto;}
.inPrivacyBox p {text-align: justify!important;}

@media screen and (max-width: 1700px) {
  #banner .caption h2 {font-size: 36px;}
}

@media screen and (max-width: 1550px) {
  #banner .caption .logo img {padding: 0 0 15px;}
  #banner .caption h2 {font-size: 35px;}
}

@media screen and (max-width: 1400px) {
  #banner .caption .logo img {padding: 0 0 5px;}
  #banner .caption h2 {font-size: 32px;}
}

@media screen and (max-width: 1315px) {
  #banner .caption h2 {font-size: 30px;}
}

@media screen and (min-width: 1200px) and (max-width: 1439px) {
  #banner .caption {max-width: 300px;}
  .do .services .item {padding: 40px 15px;height: 200px}
  .do .services .item h4 {font-size: 25px;}
  .do .services .item .btn {padding: 15px 20px;}
}

@media screen and (max-width: 1200px) {
  #banner .caption h2 {font-size: 28px;}
}

/** Responsive
-------------------------------------------------------*/


@media screen and (max-width: 1199px) {
  body {min-width: 320px;}

  h1 {font-size: 35px !important;}
  h2 {font-size: 32px !important;}
  h3 {font-size: 29px !important;}
  h4 {font-size: 26px !important;}
  h5 {font-size: 23px !important;}

  #header {padding: 55px 0 25px;}
  #header .contain {display: initial;}
  #header .info {flex-direction: column;}
  #header .info p:nth-child(2) {display: none;}
  #header nav {display:block; height: auto; position: fixed;top: 0;width: 100%;left: 0;z-index: 1;background: #FFF;}
  #header nav ul { width: 100%; display: none; height: auto;border-bottom:5px solid #212121;box-sizing: border-box;}
  #header nav ul li { width: 100%;position: relative; max-width: 100%; display: block;}
  #header nav ul li a { display: block; float:none; padding: 10px 15px;}
  #header nav a {text-align: left; width: 100%;}
  #header nav a strong {position: absolute; top: 50%; transform: translateY(-50%); left: 15px;}
  #header nav a#pull {display: block; color: #fff; background-color: #333; height: 30px;padding: 20px 0; width: 100%; position: relative;}
  #header nav a#pull:after { content:""; background: url('../images/nav-icon.png') no-repeat; width: 20px; height: 20px; display: inline-block; position: absolute; right: 15px; top: 50%; transform: translateY(-50%);}
  
  #banner {display: flex;flex-wrap: wrap;}
  #banner .bg {order: 2;}
  #banner .caption {position: relative; max-width: 100%;}
  #banner .caption .logo img {padding: 0 0 20px;max-width: 200px;}
  .do .services {align-items: center;flex-wrap: wrap;justify-content: center;}
  .do .services .item {width: 100% !important;max-width: 220px !important;max-height: 220px !important;}
  .ready form .flex {margin: 0;flex-direction: column;}
  .ready form .flex label {margin: 0;}
  #footer .info {flex-direction: column;align-items: center;}

  .cta {background: #54BCEB url("../images/common/phonecall.png") no-repeat center center;border-top-left-radius: 40px;border-bottom-left-radius: 40px;bottom: 1%;display: block;height: 80px;position: fixed;right: 0;text-decoration: none;text-indent: -9999em;width: 100px;z-index: 999; box-shadow: 0 0 5px rgba(0,0,0,0.5)}
}