@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");
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
          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: left;
  font-family: 'Barlow', sans-serif;
  color: #111111;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
h1,
h2,
h3,
h4,
h5 {
  padding: 0;
  margin: 0;
}
h1,h2{
  font-weight: 800;
  font-size: 96px;
  line-height: 1.2;
  position: relative;
  padding-bottom: 34px;
}
h1 span,h2 span{
  font-size: 30px;
  letter-spacing: 5px;
  display: block;
  letter-spacing: 15px;
}
p{
  font-family: 'Open Sans', sans-serif;
  font-size: 17px;
  line-height: 1.8;
}
.row {
  max-width: 1800px;
  margin: 0 auto;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*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;
  -webkit-transform: none !important;
      -ms-transform: none !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;
  -webkit-transition: border 0.5s ease-in-out 0s;
  -o-transition: border 0.5s ease-in-out 0s;
  transition: border 0.5s ease-in-out 0s;
}
#content .thumbnail img{
  width: 200px;
  height: 200px;
}
#content .thumbnail:hover {
  -webkit-transform: scale(1.02);
      -ms-transform: scale(1.02);
          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;
  overflow: hidden;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.2;
  color: #fff;
  display: inline-block;
  border-radius: 8px;
  width: 187px;
  padding: 15px 0;
  text-align: center;
  margin-top: 63px;
}
.buttons{
  background: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.57);
  border: 2px solid #fff;
}
.buttons:hover{
  background: #F66922;
}
.btn{
  background: #F66922;
  border: none;
}
.btn:hover{
  background: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.57);
  border: none;
}
.flex{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
img{
  max-width: 100%;
}

/*------------------------------------header------------------------------------*/
#header {
  position: relative;
  z-index: 999;
}
#header .top{
  position: relative;
  padding: 24px 0;
}
#header .logo{
  background: #F66922;
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 497px;
  margin: 0 24px -196px;
}
#header .info{
  -ms-flex-preferred-size: 922px;
      flex-basis: 922px;
  margin: 0 0 0 auto;
}
#header .info img{
  display: inline-block;
  vertical-align: middle;
  margin: 0 20px;
}
#header .info a{
  display: inline-block;
  vertical-align: middle;
  font-weight: 800;
  font-size: 20px;
  line-height: 1.2;
}
#header .info a:hover{
  color: #F66922;
}
#header .phone p{
  display: inline-block;
  vertical-align: middle;
}
#header .phone a{
  font-size: 30px;
}
#header nav{
  background: #F66922;
  padding: 50px 28px;
  border-radius: 5px;
}
#header nav a#pull {
  display: none;
}
#header nav ul {
  margin: 0;
  padding: 0;
  text-align: right;
}
nav ul li {
  display: inline-block;
  vertical-align: middle;
}
#header nav ul li a {
  font-weight: 700;
  font-size: 17px;
  line-height: 1.2;
  padding: 16px;
  color: #fff;
}
#header nav ul li.active-menu a,
#header nav ul li a:hover {
  color: #333;
}
.socials a{
  font-family: 'socialico';
  font-size: 38px;
  color: #fff;
  padding:5px 6px;
  margin:0 10px;
}
.socials a:first-of-type{
  padding:5px 10px;
}


/*------------------------------------banner------------------------------------*/
#banner {
  background: url(../images/common/banner.jpg)no-repeat center center/cover;
  padding: 196px 0 232px;
  color: #fff;
  margin: -98px auto -141px;
}
#banner .socials{
  text-align: right;
}
#banner .text{
  margin: 241px auto 0 100px;
}
#banner h2{
  font-size: 120px;
}
#banner .buttons{
  margin: 0 10px 10px 0;
}

/*------------------------------------content------------------------------------*/
#content h1:after, #content h2:after, #footer h2:after{
  background: #F66922;
  position: absolute;
  content: '';
  width: 206px;
  height: 2px;
  bottom: 0;
  left: 0;
}
#content h2:after, #footer h2:after{
  right: 0;
  margin: 0 auto;
}

/*welcome*/
#welcome{
  padding-bottom: 169px;
}
#welcome .row{
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-width: 1600px;
}
#welcome .text{
  -ms-flex-preferred-size: 661px;
      flex-basis: 661px;
}
#welcome img{
  display: block;
  margin: 0 auto 54px;
}
#welcome .phone{
  text-align: center;
}
#welcome .phone img{
  display: inline-block;
  vertical-align: middle;
  margin: 0 27px 0 0;
}
#welcome .phone a{
  font-weight: 800;
  font-size: 50px;
  line-height: 1.2;
  display: inline-block;
  vertical-align: middle;
}
#welcome .phone a:hover{
  color: #F66922;
}
#welcome .btn2{
  background: #303030;
  border: none;
}
#welcome .btn2:hover{
  background: #F66922;
}
#welcome .buttons{
  margin-right: 10px;
}

/*our services*/
#services{
  text-align: center;
  margin-bottom: -204px;
}
#services h2{
  padding-bottom: 0;
}
#services h2:after{
  background: none;
}
#services dl{
  display: inline-block;
  vertical-align: middle;
  margin: 44px 10px 0;
  position: relative;
}
#services dt img{
  display: block;
  margin: 0 auto;
  border-radius: 5px;
}
#services dd{
  margin: 0 auto;
  font-weight: 800;
  font-size: 50px;
  color: #fff;
  line-height: 1.14;
  position: absolute;
  content: '';
  top: 228px;
  left: 0;
  right: 0;
}
#services dd:before{
  background: #F66922;
  width: 132px;
  height: 1px;
  top: -39px;
  left: 0;
  right: 0;
  margin: 0 auto;
  position: absolute;
  content: '';
}
/* services page */
.serv {
  font-size: larger;
  text-align: left;
}
.serv ol.letter{
  list-style-type: lower-alpha;
}
.serv ol.rom{
  list-style-type: lower-roman;
}

/* FAQ'S page */
.acc {
  margin: 50px;
  text-align: justify;
}
button.accordion {
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: 0.4s;
  border-style: groove;
  border-color: #f6692287;
  margin: 0 0 7px 0;
}

.active, .accordion:hover {
  background-color: #ccc; 
}

.panel {
  padding: 0 18px;
  display: none;
  background-color: white;
  overflow: hidden;
}

/* PCI page */
.cert {
  margin-top: 25px;
  text-align: justify;
}
.pci-text {
  font-style: italic;
  font-weight: 900;
  color: gray;
}

/*reviews section*/
#reviews{
  background: url(../images/content/reviews-wrapper.jpg)no-repeat center right/cover;
  color: #fff;
}
#reviews .row{
  max-width: 100%;
  padding: 0;
}
#reviews .left{
  background: url(../images/content/content-image.jpg)no-repeat center left;
  -ms-flex-preferred-size: 906px;
      flex-basis: 906px;
}
#reviews .orange{
  background: #F66922;
  max-width: 553px;
  padding: 98px 72px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 350px 0 168px auto;
}
#reviews h2{
  font-size: 66px;
  line-height: 1;
  padding-bottom: 0;
}
#reviews .right{
  -ms-flex-preferred-size: 890px;
      flex-basis: 890px;
  padding-top: 50px;
}
#reviews h3{
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 15px;
}
#reviews .rev-box{
  margin: 86px auto 0;
  padding: 0 10px 0 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url(../images/content/quote.png)no-repeat center left;
}
.stars{
  font-size: 35px;
  color: #FFC926;
  letter-spacing: 15px;
  margin: 0;
}
blockquote{
  font-family: 'Open Sans', sans-serif;
  font-size: 17px;
  line-height: 1.8;
  margin: 0;

}

/*our projects*/
#project{
  padding: 122px 0 104px;
  text-align: center;
}
#project .row{
  max-width: 100%;
  padding: 0;
}
#project .images{
  padding-top: 57px;
}
#project .col:first-of-type{
  -ms-flex-preferred-size: 768px;
      flex-basis: 768px;
}
#project .col:last-of-type{
  -ms-flex-preferred-size: 1154px;
      flex-basis: 1154px;
}
#project .col:first-of-type img{
  display: block;
}
#project .col:last-of-type img{
  width: 33%;
}
#project .col:last-of-type img:last-of-type{
  width: 66%;
}

/*map*/
#map{
  background: rgb(238,238,238);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(238,238,238,1)), color-stop(60%, rgba(255,255,255,1)));
  background: -o-linear-gradient(top, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%);
  background: linear-gradient(180deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%);
  padding: 66px 0 58px;
}
#map .socials{
  padding-bottom: 50px;
  text-align: center;
}
#map .socials a{
  font-size: 30px;
  background: #fff;
  color: #333;
  border-radius: 50%;
  margin: 0 15px;
}
#map .socials a:hover{
  background: #333;
  color: #fff;
}
#map iframe{
  max-width: 1800px;
  width: 100%;
  height: 428px;
  margin: 0 auto;
}

/*footer*/
#footer{
  background: url(../images/common/footer-wrapper.jpg)no-repeat center center/cover;
  color: #fff;
  position: relative;
  padding-bottom: 44px;
}
#footer:after{
  position: absolute;
  content: '';
  background: rgb(255, 255, 255);
  background: rgba(255, 255, 255, 0.2);
  max-width: 100%;
  width: 100%;
  height: 1px;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 198px;
}
#footer .ctc-info{
  background: #F66922;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  padding: 47px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#footer .ctc-info img{
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
}
#footer .ctc-info a{
  font-weight: 800;
  font-size: 20px;
  line-height: 1.2;
  display: inline-block;
  vertical-align: middle;
}
#footer .ctc-info a:hover{
  color: #111;
}
#footer .phone a{
  font-size: 35px!important;
}
#footer .flex-holder{
  text-align: center;
  margin-top: 98px;
}
#footer .flex-holder p{
  font-size: 15px;
  line-height: 1.5;
  margin: 30px auto;
}
#footer .flex-holder .image{
  -ms-flex-preferred-size: 810px;
      flex-basis: 810px;
  margin: 0 auto;
}
#footer .form-holder{
  -ms-flex-preferred-size: 885px;
      flex-basis: 885px;
}
#footer .navi{
  padding-top: 94px;
  max-width: 1600px;
  margin: 0 auto;
}
#footer nav ul{
  padding: 0;
}
#footer nav ul li a{
  font-weight: 700;
  font-size: 17px;
  line-height: 1.2;
  padding: 20px 20px;
}
#footer nav ul li.active-menu a,
#footer nav ul li a:hover{
  color: #F66922;
}
#footer nav ul li:first-of-type a{
  padding-left: 0;
}
#footer .navi p{
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 0;
}
#footer .silver{
  margin: 0 auto;
}
#footer .silver img{
  display: inline-block;
  vertical-align: middle;
}

/*------------------------------------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-family: 'Open Sans', sans-serif;
  font-size: 17px;
  color: #111111;
  height: 51px;
  display: inline-block;
  width: 48%;
  border-radius: 5px;
  padding: 12px 27px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 19px;
  background: #fff;
}
.ctc-form textarea {
  height: 158px;
  width: 96.5%;
  display: block;
}
.ctc-form button {
  display: block;
  border: none;
}
.ctc-form .recap {
  display: inline-block;
}
.ctc-form .g-recaptcha div {
  margin: 0 auto 10px;
}
.ctc-form .ctc-hide {
  display: none;
}
.ctc-form .gdpr{
  text-align: left;
}
.ctc-form .gdpr label{
  font-size: 13px;
  line-height: 25px;
  margin-left: 20px;
}

/*inner pages*/
.inner #banner{
  margin-bottom: 0;
  padding-bottom: 70px;
}
.inner #banner .text{
  margin-top: 50px;
}
.inner #content {
  min-height: 400px;
  padding: 40px 0;
}
.inner #content h1{
  padding-bottom: 0;
}
.inner #content .row{
  max-width: 1600px;
}
.inner #footer .flex-holder{
  display: none;
}

/*contact page*/
.contact-page #content .ctc-form{
  margin-top: 50px;
}
.contact-page #content .ctc-form input[type="text"], .contact-page #content  .ctc-form textarea{
  border: 1px solid #111;
}

/*testimonials page*/
.testimonials-page #content .rev-box{
  border: 1px solid #333;
  padding: 15px;
  margin: 30px auto;
  box-sizing: border-box;
  border-top-left-radius: 20px;
  border-top-right-radius: 40px;
  box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.2);
-webkit-box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.2);
-moz-box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.2);
}

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

@media screen and (max-width: 1600px){
  #header nav ul li a {padding: 48px 30px;}
}
@media screen and (max-width: 1300px){
  #banner{margin-bottom: 0;}
  #footer .ctc-info img{display: block;margin: 0 auto 5px;}
  #footer nav ul li a{padding: 10px;}
}
/* @media screen and (max-width: 1200px){
  .row {
    max-width: 1024px;
    margin: 0;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
  #header nav ul li a {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    padding: 6px;
    color: #fff;
  }
  #header .logo {
    background: #F66922;
    padding: 0px;
    box-sizing: border-box;
    max-width: 451px;
    margin: 0 9px -71px;
  }
  .inner #content .row {
    max-width: 1024px;
  }
} */
@media screen and (max-width: 980px){
  body {min-width: 320px; text-align: center;}
  #header {padding: 0 auto;}
  #header .row {width: 100%;padding: 0;}
  #header .top{display: block;}
  #header .logo{margin: 0 auto;}
  #header .info{padding: 0 10px; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
  #header nav {display:block; height: auto; padding: 0;}
    #header nav ul { width: 100%; display: none; height: auto;border-bottom:5px solid #000; position: fixed; top: 40px;z-index: 999;background: #111;text-align: left;}
    #header nav ul li { width: 100%;position: relative; }
    #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%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 15px;}
  #header nav a#pull {display: block; color: #fff; background-color: #F66922; height: 40px;padding: 10px 0; width: 100%; position: fixed;top: 0;z-index: 999;}
  #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%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);}
  #header nav ul li.active-menu a, #header nav ul li a:hover{color:  #F66922;}
  #banner{margin: 0 auto;padding: 50px 0;}
  #banner .socials{text-align: center;}
  #banner .text{margin: 20px auto 0;}
  #banner h2{font-size: 70px;}
  #content h1:after, #content h2:after, #footer h2:after{right:0; margin: 0 auto;}
  #welcome{padding: 50px 0;}
  #welcome .row{display: block;}
  #welcome .text{margin-bottom: 50px;}
  #services{margin-bottom: 0;padding-bottom: 50px;}
  #reviews .row{display: block;}
  #reviews .orange{margin:0 0 0 auto;background: rgba(246, 105, 34, 0.7);}
  #reviews .right{padding: 50px 10px;}
  #project{padding: 50px 0;}
  #project .images{display: block;}
  #project .col:first-of-type img{margin: 0 auto;}
  #project .col:last-of-type img, #project .col:last-of-type img:last-of-type{width: auto;}
  #footer .ctc-info{-ms-flex-wrap: wrap;flex-wrap: wrap;}
  #footer .ctc-info > div{margin: 20px auto;}
  #footer .flex-holder{display: block;}
  #footer .flex-holder .flex{display: block;}
  .ctc-form .gdpr{margin: 10px 0;}
  #footer .navi{-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
  #footer .navi .left{-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;}
  #footer .logo{-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}
  .cta{background: #F66922  url("../images/common/phonecall.png") no-repeat center center;border-bottom-left-radius: 40px;border-top: 2px solid #111 ;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;}
  .acc { margin: 10px 0 0 0;}


}
@media screen and (max-width: 768px){
  h1,h2{font-size: 70px;}
  #reviews h2{font-size: 40px;}
  #footer nav ul li{display: block;padding: 10px 0;}
  #footer nav ul li a{padding: 0;}
}
@media screen and (max-width: 520px){
  h1 span, h2 span{letter-spacing: normal;}
  #banner h2{font-size: 40px;}
  #header .info > div{margin: 20px auto;}
  #header .phone p{display: block;margin: 0 auto;}
  #header .info img{display: block;margin: 0 auto 5px;}
  #header .email a{font-size: 14px;}
  #services dl{margin: 20px auto 0;}
  #services dd{font-size: 30px;}
  #reviews .orange{padding: 50px 15px;}
  #reviews .rev-box{padding: 0 10px;}
  #footer .ctc-info a{font-size: 14px;}
  .ctc-form input[type="text"]{display: block;width: 96%;}
}
@media screen and (max-width: 425px){
  h1,h2{font-size: 40px;}
}