@font-face {
  font-family: "socialico";
  src: url("fonts/Socialico/Socialico.eot");
  src: url("fonts/Socialico/Socialico.eot?#iefix") format("embedded-opentype"),
    url("fonts/Socialico/Socialico.woff2") format("woff2"),
    url("fonts/Socialico/Socialico.woff") format("woff"),
    url("fonts/Socialico/Socialico.ttf") format("truetype"),
    url("fonts/Socialico/Socialico.svg") format("svg");
}

@font-face {
  font-family: "socialico-plus";
  src: url("fonts/SocialicoPlus/socialico-plus.eot");
  src: url("fonts/SocialicoPlus/socialico-plus.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/SocialicoPlus/socialico-plus.woff2") format("woff2"),
    url("fonts/SocialicoPlus/socialico-plus.woff") format("woff"),
    url("fonts/SocialicoPlus/socialico-plus.ttf") format("truetype"),
    url("fonts/SocialicoPlus/socialico-plus.svg") format("svg");
}

@font-face {
  font-family: "CenturyGothic";
  src: url("fonts/CenturyGothic/CenturyGothic.eot");
  src: url("fonts/CenturyGothic/CenturyGothic.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/CenturyGothic/CenturyGothic.woff2") format("woff2"),
    /* Super Modern Browsers */ url("fonts/CenturyGothic/CenturyGothic.woff")
      format("woff"),
    /* Pretty Modern Browsers */ url("fonts/CenturyGothic/CenturyGothic.ttf")
      format("truetype"),
    /* Safari, Android, iOS */ url("onts/CenturyGothic/CenturyGothic.svg")
      format("svg"); /* Legacy iOS */
}

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

.suspension-contain {
  max-height: 980px;
  overflow: hidden;
  position: relative;
}
html {
  scroll-behavior: smooth;
}
html.suspended {
  background: rgba(0, 0, 0, 0.6);
}
body {
  max-width: 100%;
  min-width: 320px !important;
  margin: 0 auto;
  text-align: center;
  font-family: 'Poppins', sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
  line-height: 120%;
}
a:hover {
  text-decoration: none;
  /* color: inherit; */
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}
h1,
h2,
h3,
h4,
h5 {
  padding: 0;
  margin: 0;
  line-height: 120%;
}
.row {
  max-width: 1550px;
  margin: 0 auto;
}

/*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;
}

/*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;
}

/*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: 0.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;
}

.buttons {
  position: relative;
  width: 100%;
  max-width: 193px;
  height: 39px;
  background: transparent;
  color: #FFF;
  font-size: 17px;
  font-weight: 600;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
.buttons::after {
  content: "";
  background: #F06600;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  right: 0;
  margin: 0 auto;
  transition: all ease .5s;
  transform: skew(-30deg, 0);
}
.buttons:hover::after {
  background: #111;
}

.socials a {
  font-family: "socialico";
  font-size: 25px;
  color: #FFF;
  letter-spacing: 1em;
}
.socials a:last-of-type {
  letter-spacing: normal;
}
img.img-responsive {
  width: 200px;
  height: 250px;
  object-fit: cover;
}

/*------------------------------------header------------------------------------*/
#hd-top {
  padding: 1px 10px 4px;
  background: #111;
}
#hd-top .socials {
  width: 100%;
  max-width: 185px;
  margin: 0 0 0 auto;
}
#hd-bot {
  padding: 0 10px 23px;
}
#hd-bot .row {
  max-width: 1668px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#hd-logo {
  flex-basis: 506px;
}
#hd-logo img {
  width: 100%;
  max-width: 506px;
}
#hd-right {
  flex-basis: 1036px;
  box-sizing: border-box;
  padding-left: 50px;
}
#hd-right .details {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border-bottom: 2px solid #EEEEEE;
  margin-bottom: 17px;
}
#hd-right .details > div {
  display: flex;
  justify-content: center;
  align-items: center;
}
#hd-right .details .email {
  width: 100%;
  max-width: 270px;
  margin-right: 42px;
}
#hd-right .details .email a {
  font-size: 17px;
  font-weight: 700;
  color: #212121;
  margin-left: 19px;
  display: block;
}
#hd-right .details .phone {
  width: 100%;
  max-width: 380px;
  height: 82px;
  background: #F06600;
}
#hd-right .details .phone a {
  font-size: 35px;
  font-weight: 700;
  color: #FFF;
  margin-left: 15px;
  display: block;
}
#header nav a#pull {
  display: none;
}
#hd-menu {
  width: 100%;
  max-width: 940px;
  margin: 0 0 0 auto;
}
#header nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header nav ul li a {
  position: relative;
  font-size: 17px;
  color: #222222;
  font-weight: 700;
  padding: 8px 22px;
}
#header nav ul li.active-menu a,
#header nav ul li a:hover {
  color: #fff;
}
#header nav ul li a::after {
  content: "";
  width: 0;
  height: 100%;
  background: #F06600;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all ease .5s;
  transform: skew(-30deg, 0);
}
#header nav ul li.active-menu a::after,
#header nav ul li a:hover::after {
  width: 100%;
}
/*------------------------------------banner------------------------------------*/
#banner {
  position: relative;
  line-height: 0;
}
#banner .row {
  max-width: 100%;
}
#banner img[alt="banner"] {
  width: 100%;
  height: 1022px;
  object-fit: cover;
}
#bn-text {
  width: 100%;
  max-width: 1645px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#bn-inner {
  width: 100%;
  max-width: 920px;
  background: rgba(0, 0, 0, 0.58);
  padding: 80px 90px;
  box-sizing: border-box;
  text-align: right;
}
#bn-inner h2 {
  font-size: 110px;
  color: #FFF;
  line-height: 101%;
  font-weight: 700;
}
#bn-inner p {
  font-size: 27px;
  font-weight: 500;
  color: #FFF;
  line-height: 120%;
  margin: 0;
}
#bn-inner .buttons {
  margin: 40px 0 0 auto;
}
/*------------------------------------content------------------------------------*/
#content h1, #content h2 {
  position: relative;
  font-size: 90px;
  color: #222222;
  line-height: 101%;
  padding-bottom: 20px;
}
#content h1::after, #content h2::after {
  content: "";
  width: 100%;
  max-width: 81px;
  height: 5px;
  background: #F06600;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#content p {
  font-size: 17px;
  line-height: 180%;
  font-family: "Open Sans", sans-serif;
}
#content .flex {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

#services {
  padding: 78px 0 0;
}
#services .row {
  max-width: 1920px;
}
#services h4 {
  color: #CCCCCC;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.3em;
}
#services .flex {
  margin-top: 47px;
}
#services .svc-item {
  flex-basis: 33.33%;
  position: relative;
  margin: 0 5px;
}
#services .svc-item img[alt="services-img"] {
  width: 100%;
}
#services .svc-text {
  width: 100%;
  position: absolute;
  bottom: 58px;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 0 10px 28px 30px;
  box-sizing: border-box;
}
#services .svc-text::after {
  content: "";
  width: 80%;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  bottom: 0;
  left: 0;
}
#services .svc-text ul {
  margin: 0;
  text-align: left;
  color: #FFF;
  padding: 0 0 0 10px;
  min-height: 155px;
}
#services .svc-text ul li {
  font-size: 25px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.1em;
}
#services .svc-text img[alt="arrow"] {
  width: 100%;
  max-width: 31px;
  height: 30px;
  position: absolute;
  right: 40px;
  bottom: -15px;
}

#works {
  padding: 85px 0 127px;
}
#works h2 {
  margin-bottom: 20px;
}
#works .work-item {
  flex-basis: 354px;
  box-sizing: border-box;
  margin: 22px;
}
#works .work-item.big {
  flex-basis: 751px;
}
#works .work-item img {
  width: 100%;
}
#works .buttons {
  margin: 30px auto 0;
}

#contact {
  padding: 50px;
  background: url(../images/common/contactBg.jpg) no-repeat top center;
  background-size: cover;
}
#contact .row {
  max-width: 1920px;
}
#ctc-holder {
  width: 100%;
  max-width: 860px;
  box-sizing: border-box;
  color: #FFF;
}
#ctc-holder .text-holder {
  padding: 30px 100px 35px 95px;
  text-align: left;
  background: #F06600;
  color: #FFF;
}
#ctc-holder .text-holder h3 {
  font-size: 80px;
  font-weight: 700;
  line-height: 101%;
  color: #FFF;
}
#ctc-holder .text-holder p{
  margin: 0;
}
#ctc-holder .contact-holder {
  padding: 65px 95px;
  background: #444444;
}
#ctc-holder .contact-holder ::placeholder {
  color: #FFF;
  text-transform: uppercase;
}
#ctc-holder .contact-holder .ctc-form input[type="text"],
#ctc-holder .contact-holder .ctc-form textarea {
  background: #666666;
  height: 80px;
  margin: 0 auto 35px;
  border: none;
  color: #FFF;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.2em;
}

#map {
  padding: 25px 0 0;
}
#map .row {
  max-width: 100%;
}
#map iframe {
  width: 100%;
  height: 422px;
  border: none;
}

/*------------------------------------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;
  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;
  border: none;
}

/*------------------------contact form------------------------*/
.ctc-form {
  margin: 0 auto;
  text-align: center;
}
.ctc-form input[type="text"],
.ctc-form textarea {
  font-family: "Open Sans";
  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: 120px;
  padding-top: 10px;
}
.ctc-form button {
  display: block;
}
.ctc-form .recap {
  display: inline-block;
}
.ctc-form .g-recaptcha div {
  margin: 0 auto 10px;
}
.ctc-form .ctc-hide {
  display: none;
}

/*footer*/
#ft-top {
  padding: 73px 10px 117px;
}
#ft-top .row {
  max-width: 1740px;
}
#ft-top img[alt="footer-logo"] {
  width: 100%;
  max-width: 500px;
  display: block;
  margin: 0 auto 60px;
}
#footer .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#ft-top h4 {
  color: #222;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}
#ft-top p {
  font-size: 16px;
  line-height: 36px;
  color: #444444;
  margin: 0;
}
#ft-top .ft-phone img,
#ft-top .ft-company img,
#ft-top .ft-working img {
  margin: 33px 35px 0 0;
}
#ft-top .ft-email img {
  margin: 0 35px 0 0;
}
#ft-top .ft-phone {
  box-sizing: border-box;
  flex-basis: 527px;
  text-align: left;
  padding-right: 40px;
  border-right: 1px solid #EEEEEE;
}
#ft-top .ft-phone a {
  font-size: 36px;
  font-weight: 700;
  color: #F25026;
}


#ft-top .ft-company {
  flex-basis: 253px;
  text-align: left;
  padding-right: 40px;
  border-right: 1px solid #EEEEEE;
  padding-left: 30px;
}

#ft-top .ft-email {
  flex-basis: 514px;
  text-align: left;
  padding-right: 40px;
  border-right: 1px solid #EEEEEE;
  padding-left: 30px;
}
#ft-top .ft-email .owner,
#ft-top .ft-email .surveyor {
  flex-basis: 50%;
  box-sizing: border-box;
}
#ft-top .owner {
  padding-right: 30px;
}

#ft-top .ft-working {
  flex-basis: 242px;
  text-align: left;
  padding-left: 30px;
}

#ft-menu {
  padding: 35px 10px 25px;
  background: #222222;
}
#ft-menu .row {
  max-width: 1014px;
}
#ft-menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#ft-menu ul li a {
  font-size: 17px;
  color: #FFF;
  font-weight: 600;
}

div#ft-copy .row {
    display: flex;
    align-items: center;
    justify-content: center;
}

#ft-copy {
  padding: 10px;
  background: #F06600;
}

#ft-copy p {
    margin: 0;
    color: #FFF;
    font-size: 14px;
    font-family: 'Poppins';
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0;
}

#footer .silver img {
  display: inline-block;
  vertical-align: middle;
  max-width: 65px;
}

/*inner pages*/
.inner #content {
  min-height: 400px;
  padding: 40px 10px;
  background-image: url(../images/common/inner-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: auto;
  height: 1000px;
}
.inner #content .row {
  max-width: 1200px;
}
.inner #content h1 {
  font-size: 55px;
  margin-bottom: 30px;
}
.inner #content p {
  font-size: 18px;
  line-height: 180%;
  text-align: center;
}

.contact-page #hd-bot {
  padding: 0 20px 23px;
}
.services ul li {
  text-align: left;
}

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


.services-page ul {
  margin: 0 415px;
}

/** Responsive
-------------------------------------------------------*/
@media screen and (max-width: 1600px){
  #ft-top .ft-phone {
    padding-right: 20px;
  }
  #ft-top .ft-company,
  #ft-top .ft-email {
    padding-left: 15px;
    padding-right: 20px;
  }
  #ft-top .ft-working {
    padding-left: 15px;
  }
  #ft-top .owner {
    padding-right: 15px;
  }
  #ft-top .ft-phone img, #ft-top .ft-company img, #ft-top .ft-email img, #ft-top .ft-working img {
    margin-right: 15px;
  }
}
@media screen and (max-width: 1400px){
  #ft-top .ft-phone a {
    font-size: 30px;
  }
  #ft-top p {
    font-size: 14px;
  }
  #services .svc-text ul li {
    font-size: 20px;
  }
  #ft-top .ft-phone img, #ft-top .ft-email img, #ft-top .ft-working img {
    width: 100%;
    max-width: 30px;
  }
  #ft-top .ft-company img {
    width: 100%;
    max-width: 20px;
  }
}

@media screen and (max-width: 1200px){
  #hd-right .details .phone a {
    font-size: 25px;
  }

  #banner img[alt="banner"] {
    width: 100%;
    height: auto;
  }

  #header nav ul li a {
    font-size: 15px;
    padding: 8px 10px;
  }

  #bn-inner h2 {
    font-size: 50px;
  }

  #bn-inner p {
    font-size: 20px;
  }

  #bn-inner {
    max-width: 620px;
    padding: 80px 4%;
    margin-left: 4%;
  }

  #services h4 {
    color: #CCCCCC;
    font-size: 15px;
  }

  #content h1, #content h2 {
    font-size: 55px;
  }

  #services .svc-text ul {
    min-height: 88px;
  }
  #services .svc-text ul li {
    font-size: 15px;
  }
  #ft-top .ft-phone {
    flex-basis: 420px;
  }
  
  #contact .row {
    max-width: 1920px;
  }

  #ctc-holder {
    max-width: 630px;
  }

  #ctc-holder .contact-holder {
    padding: 65px 9%;
  }

  #ctc-holder .text-holder h3 {
    font-size: 70px;
  }

  #ctc-holder .text-holder {
    padding: 30px 10% 35px 9%;
  }
}

@media screen and (max-width: 1024px){
	body {min-width: 320px}
  #ft-top .ft-company, #ft-top .ft-email {
    padding: 0 2%;
  }
  #ft-top .ft-company {
    flex-basis: 23px;
  }
}

@media screen and (max-width: 800px){
  #header {
    padding: 0;
  }
  #header .row {
    width: 100%;
  }
  #header nav {
    display:block;
    height: auto;
  }
  #header nav ul {
    width: 100%;
    display: none;
    height: auto;
    border-bottom:5px solid #000;
    padding: 0 15px;
  }
  #header nav ul li {
    width: 100%;
    position: relative;
  }
  #header nav ul li a {
    display: block;
    float:none;
    padding: 10px 3%;
  }
  #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: #333;
    height: 30px;
    padding: 10px 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%);
  }

  .services-page ul {
    margin: 0 15px;
  }

  .inner #content {
    min-height: 400px;
    padding: 50px 4%;
    background-image:none;
  }
  
  .inner #content h1 {
    font-size: 45px;
  }

  #hd-right {
    flex-basis: 1206px;
  }

  #hd-right .details .email a {
    font-size: 14px;
  }

  #hd-right .details .email {
    width: 100%;
    max-width: 190px;
    margin-right: 52px;
  }

  #hd-right .details .phone a {
    font-size: 15px;
  }

  #bn-inner {
    max-width: 400px;
    width: 100%;
    padding: 30px 2%;
    margin-left: 4%;
  }


  #bn-inner h2 {
    font-size: 35px;
  }

  #bn-inner p {
    font-size: 13px;
  }

  #works .work-item {
    margin: 22px;
    max-width: 500px;
    margin: 0 auto;
  }

  #services .flex {
    margin-top: 47px;
    display: block;
  }

  #services .svc-item {
    max-width: 500px;
    width: 100%;
    margin: 20px auto;
  }

  #content .flex {
    display: block;
  }
	
  .cta{
    background: #035B96  url("../images/common/phonecall.png") no-repeat center center;
    border-bottom-left-radius: 40px;
    border-top: 2px solid #013f9a ;
    border-top-left-radius: 40px;
    bottom: 1%;
    display: block;
    height: 80px;
    position: fixed;
    right: 0;
    text-decoration: none;
      text-indent: -9999em;
    width: 100px;
    z-index: 999;
  }

  #footer .flex {
    display: block;
  }

  div#ft-top {
    padding: 30px 8% 30px 8%;
  }

  #footer .flex div {
    margin: 20px auto;
  }
} 

@media screen and (max-width: 768px){
  #hd-right .details .phone {
    width: 200px;
  }

  .inner #content{
    height: unset;
  }
}

@media screen and (max-width: 461px){
  
}

@media screen and (max-width:480px) {
  #content h1, #content h2 {
    font-size: 45px;
  }

  #hd-logo {
    flex-basis: 506px;
    margin: 20px auto;
  }

  #hd-right .details {
    display: block;
  }

  #hd-right {
    flex-basis: 1806px;
    padding-left: 0px;
  }

  #hd-right .details .phone {
    width: 100%;
    max-width: unset;
    height: 52px;
    margin: 20px auto;
  }

  #hd-bot .row {
    max-width: 1668px;
    display: block;
  }

  #hd-right .details .email {
    width: 100%;
    max-width: unset;
    margin-right: 0;
  }

  #bn-inner {
    max-width: unset;
    width: 100%;
    padding: 10px 5%;
    margin: 0 auto;
  }

  #bn-inner h2 {
    text-align: center;
    font-size: 30px;
  }

  #bn-inner p {
    font-size: 13px;
    text-align: center;
    margin: 10px auto;
  }
  
  #bn-inner .buttons {
    margin: 30px auto;
  }

  #ctc-holder .text-holder h3 {
    font-size: 40px;
  }

  #content p {
    font-size: 13px;
  }

  #ctc-holder .contact-holder {
    padding: 35px 5%;
  }

  #ctc-holder .contact-holder .ctc-form input[type="text"], #ctc-holder .contact-holder .ctc-form textarea {
    background: #666666;
    height: 50px;
    margin: 0 auto 15px;
    font-size: 12px;
  }

  #ctc-holder {
    max-width: 830px;
  }

  #ft-menu ul li a {
    font-size: 12px;
  }
  #contact {
    padding: 10px;
  }
  #works {
    padding: 55px 0 57px;
  }
  iframe {
    width: 100%;
  }
}

@media screen and (max-width: 350px) {
  #bn-inner {
    height: 200px;
  }
}