* {
  box-sizing: border-box;
}
html, body {
  margin:0;
  padding:0;
}
body {
  font-size:18px;
  font-family: 'Roboto', sans-serif; 
  line-height:1.4;
  min-width:320px;
  overflow-x:hidden; 
  color:#010001;
}
a {
  text-decoration:underline;
  color:#010001;
}
a:hover {
  text-decoration:none;
  color:#010001;
}
p {
  margin-bottom:20px;
  color:#010001;
}
ul, ol {
  list-style:outside;
  padding:0;
  margin-left:20px;
}
ul li, ol li {
   margin:0 0 10px; 
}
input, textarea {
  font-family: 'Roboto', sans-serif;   
  display:block;
}
img {
  max-width:100%;
}
section h2 {
  color:#010001;
  font-size:40px;
  font-weight: 500;
  margin:0;
}
.align-center {
  text-align:center;
}


/* -------------------------- FONTS -------------------------- */
@font-face {
    font-family: 'Trade Gothic Bold No 2';
    src: url('fonts/tradegothicboldno.eot');
    src: url('fonts/tradegothicboldno.eot?#iefix') format('embedded-opentype'),
         url('fonts/tradegothicboldno.ttf') format('truetype'),
         url('fonts/tradegothicboldno.woff') format('woff'),
         url('fonts/tradegothicboldno.svg?#icons') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* --------------- WRAPPER STYLES --------------- */
.container {
    max-width:1510px;
    padding-left:15px;
    padding-right: 15px;
    margin-left:auto;
    margin-right: auto;
}
.columns {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
          justify-content: space-between;
}
.columns-valign {
  -webkit-box-align: center;  
  -ms-flex-align: center;  
  align-items: center;
  height:100%;
}
.column-right {
  margin-left: auto;
}

/* --------------- BUTTONS & DESIGN ELEMENTS --------------- */
.btn,
.btn:focus,
input[type='submit'],
input[type='submit']:focus {
  background:#ffcb08;
  padding:14px 10px 10px;
  font-size:18px;
  border:none;
  text-align:center;
  font-family: 'Trade Gothic Bold No 2';  
  transition: 0.3s background;
  line-height:18px;
  cursor:pointer;
}
.btn:hover,
input[type='submit']:hover {
  background:#edbb00;
  transition: 0.3s background;  
}

/* --------------- HEADER --------------- */
.page-header {
  padding-top: 40px;
  padding-bottom: 20px;
  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;
}
.logo-block {
  max-width:583px;
}
.logo-block img {
  max-width:100%;
  display:block;
}
.header-phone {
  text-align:right;
}
.phone-label {
  font-size:26px;
  font-weight:300;
}
.phone-num {
  color:#0085c3;
  font-weight:600;
  font-size:30px;
  font-family: 'Trade Gothic Bold No 2';  
}

/* --------------- BANNER --------------- */
.banner {
  background:url(images/banner.jpg) 50% 50% no-repeat;
  background-size:cover;
  width:100%;
  min-height: 695px;
  padding: 10px 0;
}
.form {
  float:right;
  width:340px;
  background:#0085c3;
  box-shadow:5px 5px 5px rgba(0,0,0,0.3);
}
.form_header {
  background:#000;
  padding:30px;
  box-shadow:5px 5px 5px rgba(0,0,0,0.3);  
  position: relative;
  color:#fff;
  font-size:16px;
}
.form_header h3 {
  font-size:24px;
  font-family: 'Trade Gothic Bold No 2';    
  margin:0 0 10px;
}
.form_header p {
  margin:0;
  color:#fff;
}
.form_header:after {
  content:'';
  width:30px;
  height:30px;
  display:block;
  position:absolute;
  bottom:-8px;
  left:50%;
  background:#000;
  margin-left:-15px;
  transform: rotate(45deg);
} 
.form_body {
  padding:30px;
}
.form-row {
  margin-bottom:8px;
}
.form_body input[type='text'],
.form_body select {
  height:36px;
  line-height: 36px;
  background: #fff;
  border:none;
  font-size:14px;
  font-weight: 300;
  width:100%;
  padding:0 13px;
}
.form_body textarea {
  min-height:106px;
  background: #fff;
  border:none;
  font-size:14px;
  font-weight: 300;
  width:100%;
  padding:13px;
}
.form-button {
  margin-top:25px;
}
.form_body input[type='submit'] {
  width:100%; 
  text-transform: uppercase;
}
.form-error-message {
  display:none;
  text-align:center;
  margin-bottom:10px;
  padding:2px;
  font-size:14px;
  color:#fff;
  background-color:#b22125;
}

/* --------------- STUFFS --------------- */
.stuffs {
  background:#f1f1f1;
  padding:50px 0;
  margin-bottom:40px;
}
.stuff-item {
  width:245px;
  text-align:center; 
  padding:0 15px;
}
.stuff-item:before {
  width:93px;
  height:67px;
  content:'';
  background-size:contain !important;
  display:block;
  margin:0 auto 25px;
}
.stuff-fit-needs:before {
  background: url(images/icon-circle.png) 50% 50% no-repeat;
}
.stuff-offices:before {
  background: url(images/icon-american-flag.png) 50% 50% no-repeat;
}
.stuff-bureaux:before {
    background: url(images/maple-leaf.png) 50% 50% no-repeat;
}

.stuff-installation:before {
    background: url(images/icon-tools.png) 50% 50% no-repeat;
}
.stuff-service-warranty:before {
  background: url(images/icon-bell.png) 50% 50% no-repeat;
}
.stuff-item p {
  margin:0;
  font-weight:300;
}

/* --------------- OUR PROCESS --------------- */
.our-process {
  margin-bottom:60px;
}
.our-process_text {
  width:40%;
  padding-right:30px;
}
.our-process_slider {
  padding-left:30px;
  width:50%;
  flex-shrink: 0;  
}
.our-process .text-highlighter {
  font-weight:600;
  color:#0085c3;
  font-size:24px;
}

/* --------------- STEPS --------------- */
.steps {
  margin-bottom:30px;
}
.step-item {
  width:240px;
  text-align:center;
}
.step-image {
  width:215px;
  height:178px;
  margin:0 auto;
}
.title-node {
  font-size:24px;
  font-weight:300;
  text-align:center;
  margin-bottom:40px;
}
.steps-list {
  position: relative;
  padding-bottom:100px;
  border-bottom:solid 1px #404040;
}
.steps-list:before {
  content:'';
  width:100%;
  height:1px;
  background:#0085c3;
  position:absolute;
  top:216px;
  z-index:-1;
}
.step-num {
  margin:15px auto;
  color:#0085c3;
  font-size:24px;
  font-weight:600;
  width:46px;
  height:46px;
  border:solid 3px #0085c3;
  background:#fff;
  border-radius: 50px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
          align-items: center;
}
.step-details h3 {
  margin:0 0 15px;
  font-weight:500;
  font-size:20px;
}
.step-details p {
  font-size: 16px;
  font-weight: 300;
}
.steps-list-wrap {
  position: relative;
}
.swiper-pagination-steps {
  text-align: center;
}
.steps-list-wrap .swiper-pagination-steps {
  display:none;
}
.steps-list-wrap.swiper-container-steps .swiper-pagination-steps {
  display:block;
}
.step-item.swiper-slide {
  margin-bottom:0;
}
.swiper-pagination-steps-bullets .swiper-pagination-bullet {
    margin: 0 7px;
}

/* --------------- Possibilities --------------- */
.possibilities {
  margin-bottom:40px;
}
.possibilities-images {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.possibilities-item {
  width:24.4%;
  position: relative;
  margin-bottom:13px;
}
.possibilities-item img {
  display:block;
  max-width:100%;
}
.possibilities-title {
  position:absolute;
  bottom:0;
  right:0;
  left:0;
  background:rgba(0,0,0,0.6);
  padding:10px;
  color:#fff;
  font-size: 20px;
  font-weight:500;
  text-transform: uppercase;
  text-align: center;
}

/* --------------- Reviews --------------- */
.reviews {}
.reviews h2 {
  text-align:center;
  position: relative;
  margin-bottom:50px;
}
.reviews h2 span {
  background:#fff;
  padding:0 20px;
  display: inline-block;
}
.reviews h2:after {
  content:'';
  width:100%;
  height:1px;
  background:#404040;
  position:absolute;
  top:50%;
  left:0;
  z-index:-1;
}
.reviews-logos {
  width:30%;
  padding:0 40px;
}
.reviews-logos img {
  display:block;
  margin:0 auto 40px;
}
.reviews-stories {
  width:70%;
  padding:0 40px;
}
.success-stories {
  padding:60px 0 0;
}
.success-story {
  padding:0 5%;
  text-align:center;
}

.story-body {
  padding:80px 0;
  position: relative;
  font-weight: 300;
}
.story-body:before,
.story-body:after {
  content:'“';
  color:#0085c3;
  font-size:100px;
  line-height: 70px;
  font-weight: bold;
  font-family: 'Times New Roman', serif;
  display:block;
  position: absolute;  
  left:50%;
  margin-left:-25px;  
}
.story-body:before {
  top:0;
}
.story-body:after {
  bottom:0;
  transform: rotate(180deg);
}
.story-body p {
  margin:0;
}
.story-author {

}
.story-author span {
  font-weight: 500;
  display:inline-block;
  width:100%;
}

/* --------------- CTA --------------- */
.cta {
  background:#008fc3;
  text-align:center;
  color:#fff;
  font-family: 'Trade Gothic Bold No 2';   
  padding:15px 0; 
}
.cta p {
  font-size:24px;
  color:#fff;  
  margin:0;
}
.cta a {
  font-size:18px;
  color:#fff; 
  text-transform: uppercase;
}
.cta h3 {
  text-transform: uppercase;
  padding:0 60px;
  font-size:32px;
  margin:10px 0;
  position: relative;
  display:inline-block;
  line-height: 1;
}
.cta h3:before,
.cta h3:after {
  content:'';
  display:block;
  position: absolute;
  top:50%;
  width:20px;
  height:1px;
  background:#fff;
  margin-top:-3px;
}
.cta h3:before {
  left:0;
}
.cta h3:after {
  right:0;
}

/* --------------- COPYRIGHT --------------- */
.copyright {
  padding:40px 0;
}
.copyright p {
  color:#000;
  font-weight: 300;
  font-size: 16px;
  margin:0;
}

/* --------------- MEDIA QUERIES --------------- */
@media (max-width: 1200px) {
  section h2 {
    font-size:30px;
  }
  .title-node {
    font-size:18px;
  }
  .our-process_text {
    width:50%;
  }

  .possibilities-item {
    width:32.5%;
    position: relative;
    margin-bottom:13px;
  }
  .reviews {
    -webkit-box-orient: vertical;    
    -webkit-box-direction: normal;    
    -ms-flex-direction: column;    
    flex-direction: column;
  }
  .reviews-logos,
  .reviews-stories {
    width:100%;
  }
  .logos-list {
    margin-bottom:50px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;            
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;    
    flex-wrap: wrap;        
  }
  .reviews-logos img {
    display:inline-block;
    margin:0 10px 10px;
  }
  .success-stories {
    padding:0;
    margin:0 0 50px;
  }

  .steps-list {
    padding-bottom:20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
            justify-content: center;
  }
  .steps-list:before {
    display: none;
  }
  .step-item {
      width: 30%;
      margin-bottom: 30px;
  }
}

@media (max-width: 992px) {
  .logo-block {
    width:350px;
  }
  .phone-label {
    font-size:20px;
  }
  .phone-num {
    font-size:24px;
  }
  .stuff-item p {
  /*  font-size: 16px;*/
  }
  .stuff-item:before {
    width: 50px;
    height: 40px;
  }

  .our-process .columns {
    -webkit-box-orient: vertical;    
    -webkit-box-direction: normal;   
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .our-process_text {
    order:1;
    text-align:center;
  }
  .our-process_text,
  .our-process_slider {
    width:100%;
    padding:0;
  }
  .our-process_slider {
    margin-bottom:20px;
  }
  .our-process_slider .swiper-slide {
    text-align:center;
  }
  .step-item {
      width: 50%;
      margin-bottom: 30px;
  }

  .possibilities-item {
    width:49%;
    position: relative;
    margin-bottom:13px;
  }
}

@media (max-width: 768px) {
  .possibilities-title {
    display:none;
  }
  .success-stories {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  } 
  .success-story {
    margin-bottom:30px;
  }
  .success-story:last-of-type {
    margin-bottom:0;
  }
  .copyright {
      padding: 20px 0;
      text-align:center;
  }
  .copyright .columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;    
  }
  .copyright p:first-of-type {
    margin-bottom:10px;
  }
}

@media (max-width: 600px) {
  .page-header {
    padding-top:30px;
    padding-bottom: 10px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;  
  }
  .logo-block {
    width:auto;
    max-width:100%;
    margin-bottom:25px;
  }

  .banner {
    background-size: contain;
    background-position: 50% 0;
    height:auto;
  }
  .banner .columns {
    display:block;
    padding-top: 35%;
  }
  .form {
    float:none;
    width:auto;
    margin:0 -15px;
  }
  .form_body,
  .form_header {
    padding-left:45px;
    padding-right:45px;
  }
  
  .stuffs {
    padding-bottom:0;
  }
  .stuffs .columns {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;  
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;  
  }
  .stuff-item {
    width:50%;
    margin-bottom:60px;
  }

  .cta h3 {
    padding:0;
  }
  .cta h3:before,
  .cta h3:after {
    display: none;
  }
  .cta p {font-size: 18px}
  .cta h3 {
    font-size: 24px;
    line-height: 1.2;
  }
  .cta a {font-size: 14px}  
  .copyright p {font-size: 14px}  
}

@media (max-width: 480px) {
  .stuffs {
    margin-bottom:15px;
  }
  .stuffs .columns {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;     
  }
  .stuff-item {
    width:100%;
    margin-bottom:60px;
    padding: 0 50px;
  }
  .stuff-item:before {
    margin-bottom:15px;
  }

  .our-process {
    margin-bottom:40px;
  }
  .our-process .text-highlighter {
    font-size: 18px;
  }

  .logos-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;      
  }
  .logos-list img {
    margin-bottom:50px;
  }
  .logos-list img:last-of-type {
    margin-bottom:0px;
  }

  .steps-list {
    margin: 0 -15px;
    width: auto;
  }
  .step-item {
    width:100%;
    padding-left: 40px;
    padding-right:40px;
  }
  .step-image {
    width:178px;
    border-radius:100px;
  }
  .step-num {
    margin-top:-30px;
  }
  .steps-list .swiper-pagination  {
    bottom:30px !important;
  }
  .reviews-logos, .reviews-stories {
    padding:0 15px;
  }
}