/* ================================================================================
    #Reset
================================================================================ */

* { margin: 0; padding: 0; outline: 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

header, footer, nav, section, article, aside, figure, details, summary { display: block; }

/* ================================================================================
    #Base
================================================================================ */

body, html { height: 100%; scroll-behavior: smooth; }

body {
    /*font-family: 'Roboto', sans-serif;*/
    font-size: 18px;
    line-height: 1.3;
    color: #333;
    background: #fff;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
}

a { color: #059727; text-decoration: none; cursor: pointer; }
a:hover { text-decoration: underline; }
a img { border: 0; }
img { height: auto; max-width: 100%; font-size: 0; vertical-align: middle; }

h1, h2, h3, h4, h5, h6 { line-height: 1.1; font-weight: normal; }

h1 { font-size: 40px; line-height: 43px; }
h2 { font-size: 34px; line-height: 37px; }
h3 { font-size: 28px; line-height: 31px; }
h4 { font-size: 26px; line-height: 29px; }
/*h5 { font-size: 24px; line-height: 27px; }*/
/*h6 { font-size: 22px; line-height: 25px; }*/

ul { list-style: disc inside none; }
ol { list-style: decimal inside none; }

/* ================================================================================
    #Form Elements
================================================================================ */

input, textarea, select { font-family: 'Roboto', sans-serif;  font-size: 15px; }
textarea { overflow: auto; resize: none; -webkit-overflow-scrolling: touch; }

input,
textarea { box-sizing: border-box; max-width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; box-shadow: none; }

input[type="checkbox"] { -webkit-appearance: checkbox; -moz-appearance: checkbox; appearance: checkbox; }
input[type="radio"] { -webkit-appearance: radio; -moz-appearance: radio; appearance: radio; }

input[type="radio"],
input[type="checkbox"] { width: auto; height: auto; padding: 0; border: 0; }

input[type="submit"],
input[type="button"],
input[type="reset"],
button { cursor: pointer; }

button::-moz-focus-inner,
input::-moz-focus-inner { padding: 0; border: 0; }

/* ================================================================================
    # Clear
================================================================================ */

.cl { height: 0; clear: both; }

.cl,
.notext { font-size: 0; line-height: 0; text-indent: -4000px; }

.clearfix { *zoom: 1; }
.clearfix:after { content: ''; font-size: 0; line-height: 0; display: block; clear: both; }

/* ================================================================================
    #Containers
================================================================================ */

.shell { width: 1140px; margin: 0 auto; }

/* ================================================================================
    #Elements
================================================================================ */

/* main container */
.main-container { padding-top: 115px; }

/* home slider */
.slider-wrapper > .shell { position: relative; }

.home-slider { margin-bottom: 20px; }
.home-slider .slide { background-repeat: no-repeat; background-position: center center; background-size: cover; }
.home-slider .slide { height: 750px; }
.home-slider .slide-cnt { font-weight: 300; max-width: 365px; padding-top: 90px; }
.home-slider .slide-cnt h2 { font-weight: 300; color: #059727; padding-bottom: 15px; }
.home-slider .slide-cnt p { color: #fff; font-size: 17px; margin-bottom: 40px; }

/*  btn accent */
.btn-accent-wrapper { position: relative; }
.btn-accent-wrapper:after { content: ''; position: absolute; right: 15px; top: -20px; width: 50px; height: 46px; background: url(../images/handdrawn-arrow.png) no-repeat 0 0; }
.btn-accent { width: 280px; display: inline-block; vertical-align: top; background: #059727; color: #fff; border-radius: 10px; text-align: center; padding: 6px 0; transition: background .3s ease; }
.btn-accent strong { display: block; font-weight: 300; font-size: 30px; line-height: 50px; }
.btn-accent:hover { text-decoration: none; background: #048d24; }

/*  btn secondary  */
.btn-secondary { background: #059727; }
.btn-secondary:hover { opacity: .8; background: #059727; }

/* custom-slider-nav */
.custom-slider-nav { margin: 100px 0 0 50px; }
.custom-slider-nav .owl-prev,
.custom-slider-nav .owl-next { width: 16px; height: 27px; background: url(../images/slider-arrow-left@x2.png) no-repeat 0 0; background-size: 16px 27px; text-indent: -9999px; font-size: 0px; display: inline-block !important; vertical-align: top; cursor: pointer; transition: opacity .3s ease; }
.custom-slider-nav .owl-next {  background: url(../images/slider-arrow-right@x2.png) no-repeat 0 0; background-size: 16px 27px; margin-left: 40px; }
.custom-slider-nav .owl-prev:hover,
.custom-slider-nav .owl-next:hover { opacity: 0.6; }

.main { padding: 20px 0; }

/* clients */
.clients { padding: 40px 0; }
.clients-list ul { list-style-type: none; display: flex; align-items: center; }
.clients-list ul li { flex: 0 0 33.3334%; }
.clients-list ul li + li { margin-left: -4px; }
.clients-list ul li a { transition: opacity .3s ease; color: #333; text-align: center; display: block; }
.clients-list ul li a:hover { opacity: 0.7; }
.clients-list ul li img { display: inline-block; margin-bottom: 20px; }
.clients-list ul li span { display: block; }

/* btn main */
.btn-main-wrapper { text-align: center; }
.btn-main { display: inline-block; vertical-align: top; padding: 6px 18px; border-radius: 6px; border: 1px solid #059727; text-align: center; transition: background .3s ease, color .3s ease; font-weight: 200; }
.btn-main:hover { background: #059727; color: #fff; text-decoration: none; }

/* call to action slider */
.cta-slider { background: #059727; overflow: hidden; max-height: 410px; }
.cta-slider .shell { position: relative; }
.cta-slider:after {  content: ''; position: absolute; bottom: -60px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 60px 46px 0 46px; border-color: #059727 transparent transparent transparent; }
.cta-slider .slide { padding: 44px 0; height: 410px; box-sizing: border-box; }
.cta-slider .slide  h3 { font-size: 38px;}
.cta-image { width: 60%; float: left; }

.cta-content { width: 40%; float: left; padding-left: 15px; box-sizing: border-box; color: #fff; }
.cta-content h4 { padding-bottom: 15px; font-weight: 300; }
.cta-content h6 { font-size: 18px; line-height: 22px; font-weight: 300; padding-bottom: 10px; }
.cta-content p { padding-bottom: 15px; font-weight: 200; }
.cta-content .btn-main { color: #fff; border-color: #fff; margin-top: 20px; }
.cta-content .btn-main:hover { color: #059727; background: #fff; }

.cta-slider .owl-nav { position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; }
.cta-slider .owl-prev,
.cta-slider .owl-next { position: absolute; left: 20px; top: -13px; width: 16px; height: 27px; background: url('../images/slider-arrow-left@x2.png') no-repeat 0 0; background-size: 16px 27px; text-indent: -9999px; font-size: 0px; cursor: pointer; transition: opacity .3s ease; }
.cta-slider .owl-next {  background: url('../images/slider-arrow-right@x2.png') no-repeat 0 0; background-size: 16px 27px; left: auto; right: 20px; }
.cta-slider .owl-prev:hover,
.cta-slider .owl-next:hover { opacity: 0.6; }

/* contacts map */
.contacts-map { margin-bottom: 35px; }

.contact-info-list { padding-bottom: 50px; }
.contact-info-list ul li { display: inline-block; vertical-align: top; width: 33.3%; }
.contact-info-list ul li + li { margin-left: -4px; }
.contact-info-list .ci-icon { width: 20%; display: inline-block; vertical-align: top; }
.contact-info-list .ci-icon i { font-size: 44px; color: #059727; }

.contact-info-list .ci-cnt { width: 80%; display: inline-block; vertical-align: top; margin-left: -4px; color: #706f6f; }
.contact-info-list .ci-cnt small {  font-size: 12px; }
.contact-info-list .ci-cnt a { color: #706f6f; transition: color .3s ease; }
.contact-info-list .ci-cnt a:hover { color: #059727; text-decoration: none; }
.contact-info-list .ci-cnt h5 {  font-size: 19px; margin-top: -3px; }

/*  contact form */
.contact-form-wrapper { padding-bottom: 40px; }
.cf-text { width: 38%; float: left; color: #706f6f; padding: 5px 0 0 20px; box-sizing: border-box; text-align: right; }
.cf-text h4 { padding-bottom: 5px; }

.cf-form { width: 62%; float: left; box-sizing: border-box; padding: 0 40px; }
.cf-form .row + .row { margin-top: 10px; }
.cf-form .row-has-cols .row-input { width: 33.3%; display: inline-block; vertical-align: top; box-sizing: border-box; }
.cf-form .row-has-cols .row-input + .row-input { margin-left: -4px; padding-left: 15px; }

.cf-form .row-input input[type="text"],
.cf-form .row-input input[type="email"] { border: 1px solid #d2d2d2; width: 100%; height: 26px; padding: 0 10px; }
.cf-form .row-input textarea { width: 100%; height: 120px; border: 1px solid #d2d2d2; padding: 10px; }
.cf-form input[type="submit"] { background: #059727; border: none; color: #fff; text-align: center; padding: 8px 36px; border-radius: 5px; transition: background .3s ease; }
.cf-form input[type="submit"]:hover { background: #048d24; }

.switch { position: relative; height: 34px; width: 100%; background: #ccc; color: #fff; }
.switch-label {position: relative; z-index: 2; float: left; width: 50%; line-height: 34px; font-size: 16px; text-align: center; cursor: pointer; transition: color .2s ease; }
.switch-label {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;   
}
.switch-input { display: none; }
.switch-input:checked + .switch-label { -webkit-transition: -0.8s ease-out; -moz-transition: .3s ease-out; -ms-transition: .3s ease-out; -o-transition: .3s ease-out; transition: .3s ease-out; }
.switch-input:checked + .switch-label-on + .switch-selection { left: 50%; }
.switch-label.active { color: #fff; } 
.switch-selection { position: absolute; z-index: 1; top: 0;  left: 0;  display: block; width: 50%; height: 34px; background-color: #059727; color: #fff;  -webkit-transition: left .3s ease-out; -moz-transition: left .3s ease-out; -ms-transition: left .3s ease-out; -o-transition: left .3s ease-out; transition: left .3s ease-out; }

/* posts */
.post { margin-bottom: 40px; }
.post .posttitle a { color: #059727; }
.post .post-thumbnail { width: 200px; float: left; margin: 0 20px 10px 0; }

/* faq */
.faq-accordion h5 { color: #059727; padding-bottom: 15px; }
.acc-title { padding: 34px 0; }
.accordion { padding-bottom: 40px; }
.acc-head { position: relative; font-size: 18px; line-height: 21px;  margin-top: 10px; background: #f2f2f2; cursor: pointer; padding-bottom: 0 !important; }
.acc-head em { width: 50px; height: 50px; background: #ccc; text-align: center; color: #999; font-size: 16px; line-height: 50px; display: inline-block; font-style: normal; margin-right: 25px; }
.acc-head em i { font-style: normal; }
.acc-head span { width: 36px; height: 50px; float: right; position: relative; }
.acc-head span:after,
.acc-head span:before { content: ''; position: absolute; background: #777; left: 50%; top: 50%; }
.acc-head span:after {  width: 12px; height: 1px; transition: all .2s linear; }
.acc-head span:before { width: 1px; height: 12px; transition: all .2s linear; }
.acc-head span:after,
.acc-head span:before {
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
         -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.acc-item.expanded span:before { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); margin-top: -6px; margin-left: -2px; }
.acc-item.expanded span:after { opacity: 0; }
.acc-item .acc-content { display: none; color: #6a6a6a; font-size: 15px; padding: 22px 20px; }
.acc-item .acc-content p { padding-bottom: 5px; }



/* widget - posts */
.post-entry + .post-entry { margin-top: 15px; }
.post-entry h5 { font-size: 16px; line-height: 19px; color: #059727; padding-bottom: 10px; }
.post-entry p { font-size: 14px; line-height: 17px; margin-bottom: 15px; }
.post-entry .btn { width: 128px; padding: 10px 5px; box-sizing: border-box; text-align: center; color: #fff; background: #059727; font-size: 15px; border-radius: 4px; display: block; transition: background .3s ease; }
.post-entry .btn:hover { background: #048d24; text-decoration: none; }


/* ------------------------------------------------------------ *\
    Media Queries
\* ------------------------------------------------------------ */

@media(max-width: 1000px) {
  .shell { width: auto; padding: 0 20px; }

  .header-nav { width: 75%; }

  .calculator-holder { width: auto; padding: 20px; position: static; }

  .cta-slider:after { display: none; }
  .cta-slider .slide { height: auto; }

  .cta-image { width: 50%; }
  .cta-content { width: 50%; }

  .cta-box-text { width: 50%; }

  .cta-box-button .btn-accent-wrapper { padding-left: 0; }
  .cta-box-button .btn-accent-wrapper:after { left: 14px; }

  .cf-text { padding-left: 10px; }
}

@media(max-width: 900px) {
  .header nav ul li { font-size: 14px; }
}

@media screen and (max-width: 782px) {
  body.admin-bar .header { top: 46px; }
}

@media(min-width: 768px) {
  .header-nav nav { display: block !important; height: auto !important; }
}

@media(max-width: 767px) {
  p { font-size: 16px; }
  .header .social-links,
  .header .contacts-list { display: none; }

  .header .shell { padding: 0; }
  .header .logo { float: none; width: auto; margin: 0;  width: 170px; padding: 15px 20px 10px 20px; }
  .header-nav { float: none; width: auto; background: #ccc; text-align: left; }
  .header-nav nav { display: none; margin-bottom: 0; }

/*  .header nav ul li { display: block; font-size: 18px; }
  .header nav ul li + li { margin-left: 0; padding-left: 0; border-left: none; }
  .header nav ul li a { padding: 8px 20px; display: block; background: #eee; border-bottom: 1px solid #ddd; }
  .header nav ul li:last-child a { border-bottom: none; }
  .header nav ul li.current-menu-item a,
  .header nav ul li a:hover { background: #ddd; }

  .header .menu-btn span,
  .header .menu-btn:after,
  .header .menu-btn:before { transition: all 0.3s; -moz-transition: all 0.3s; -webkit-transition: all 0.3s; -o-transition: all 0.3s; }
  .header .menu-btn { height: 19px; width: 30px; position: absolute; top: 18px; right: 20px; display: block; z-index: 20; }
  .header .menu-btn:after,
  .header .menu-btn:before { content: ''; }
  .header .menu-btn:after,
  .header .menu-btn:before,
  .header .menu-btn span { position: absolute; left: 0; display: block; width: 100%; height: 3px; background: #059727; top: 8px; }
  .header .menu-btn:before { top: 0px; }
  .header .menu-btn:after { top: 16px; }
  .header .menu-btn.expanded span { opacity: 0; }
  .header .menu-btn.expanded:before { margin-top: 8px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
  .header .menu-btn.expanded:after { margin-top: -8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }*/

  .main-container { padding-top: 0; }

  .home-slider .slide { height: 360px; position: relative; }
  .home-slider .slide:after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,0.3); z-index: 1; }
  .home-slider .slide-cnt { padding-top: 50px; position: relative; z-index: 2; }
  .home-slider .slide-cnt h2 { font-size: 30px; line-height: 28px; }
  .home-slider .slide-cnt p { font-size: 15px; line-height: 17px; margin-bottom: 25px; }
  .home-slider .btn-accent-wrapper:after { display: none; }
  .btn-accent span { font-size: 16px; }
  .btn-accent strong { font-size: 18px; line-height: 30px; }
  .custom-slider-nav { display: none; }

  .home-slider .owl-dots { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
  .home-slider .owl-dot { display: inline-block; vertical-align: top; width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.6); }
  .home-slider .owl-dot.active { background: rgba(255,255,255,1); }
  .home-slider .owl-dot + .owl-dot { margin-left: 10px; }

  .clients { padding: 30px 0; }

  .main-title { padding: 0; }
  .main-title h3 { font-size: 26px; line-height: 26px; }

  .cta-slider .slide { padding: 30px 0 40px 0; }
  .cta-image { float: none; width: auto; text-align: center; padding-bottom: 25px; }
  .cta-image img { margin: 0 auto; }

  .cta-content { float: none; width: auto; text-align: center; }
  .cta-content h5 { font-size: 20px; line-height: 20px; }
  .cta-slider .slide  h3 { font-size: 28px; line-height: 28px; }
  .cta-box-button .btn-accent strong { font-size: 18px; }

  .cta-slider .owl-nav { display: none; }

  .cta-slider .owl-dots { position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%); }
  .cta-slider .owl-dot { display: inline-block; vertical-align: top; width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.6); }
  .cta-slider .owl-dot.active { background: rgba(255,255,255,1); }
  .cta-slider .owl-dot + .owl-dot { margin-left: 10px; }

  .testimonials { padding: 30px 0; }
  .testim-quotes { width: 32px; margin-bottom: 20px; }
  .testim-person { width: 100px; }
  .testimonials h3 { font-size: 22px; line-height: 22px; }
  .testimonials h5 { font-size: 18px; line-height: 18px; color: #706f6f; }

  .cta-box { padding: 20px 0 30px 0; }
  .cta-box-text { width: auto; float: none; text-align: center; padding-bottom: 20px; }
  .cta-box-text h3 { text-align: center; font-size: 18px; line-height: 22px; }

  .cta-box-button .btn-accent-wrapper { text-align: center; }
  .cta-box-button { width: auto; float: none; }
  .cta-box-button .btn-accent { margin-left: 0; }

  .btn-accent-wrapper:after { display: none; }

  .btn-main { font-size: 17px; }
  .cta-box-long .cta-box-button .btn-accent-wrapper { margin-top: 0; text-align: center; }

  .footer { padding: 15px 0; }
  .footer .copyrights { float: none; padding-bottom: 10px; }
  .footer .copyrights p { font-size: 14px; }
  .footer .social-links { float: none; }

  .page-title h3 { font-size: 24px; line-height: 24px; }

  .contacts-map iframe { height: 250px !important; }

  .contact-form-wrapper { padding-bottom: 0; }
  .contact-info-list { padding-bottom: 30px; }
  .contact-info-list .ci-icon { margin: 0 auto; display: block; width: 100%; text-align: center; }
  .contact-info-list .ci-icon i { font-size: 23px; }
  .contact-info-list .ci-cnt { width: auto; margin: auto; display: block; text-align: center; }
  .contact-info-list .ci-cnt h5 { font-size: 17px; }

  .cf-text { width: auto; float: none; padding: 0 0 20px 0; text-align: left; }
  .cf-text h4 { font-size: 20px; line-height: 23px; }

  .cf-form { width: auto; float: none; padding: 0 0 20px 0; }

  .cf-form .row-has-cols .row-input { width: 100%; display: block; }
  .cf-form .row-has-cols .row-input + .row-input { margin: 10px 0 0 0; padding-left: 0; }

  .content { float: none; width: auto; }
  .sidebar { float: none; width: auto; padding-left: 0 !important; border-top: 1px solid #eee; padding-top: 20px; }

  .faq-nav { padding-bottom: 10px; }
  .faq-nav ul { text-align: left; }
  .faq-accordion h5 { font-size: 24px; line-height: 24px; }

  .accordion { padding-bottom: 30px; }
  .acc-head { position: relative; padding: 9px 23px 9px 40px !important; }
  .acc-head em { position: absolute; left: 0; width: 30px; height: auto; top: 0; bottom: 0; line-height: normal; margin: 0; }
  .acc-head em i { position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; }
  .acc-head span { position: absolute; top: 50%; right: 5px; height: 18px; width: 18px; transform: translateY(-50%); }
  .acc-item .acc-content { padding: 15px 0; }

  .post .post-thumbnail { display: none; }
}


/* ------------------------------------------------------------ *\
    Credit Calculator
\* ------------------------------------------------------------ */

.content .calculator { margin-bottom: 25px; color: #666; }
.content .calculator + .calculator { margin-top: 50px; padding-top: 50px; border-top: 1px solid #eee; }

.content .calculator__title { color: #444; font-size: 20px; text-align: center; }

.content .calculator__body table { width: 100%; }
.content .calculator__body tr {  }
.content .calculator__body th,
.content .calculator__body td { text-align: left; padding: 7px; }
.content .calculator__body th { font-weight: 400; }

.content .calculator__action-buttons a { border: 1px solid #ddd; border-radius: 50%; width: 20px; height: 20px; display: inline-block; text-align: center; text-decoration: none; transition: opacity .2s; }
.content .calculator__action-buttons a:hover { background: #059727; border-color: #059727; color: #fff; opacity: .7; }

.spinner { display: inline-block; background: url(../images/spinner.gif); width: 16px; height: 11px; margin-left: 20px; }
