/*
 * Grid helpers inspired from Twitter Bootstrap
 */
.row { margin: 0 -20px; }
.row:before, .row:after { content: " "; display: table; }
.row:after { clear: both; }
.row { *zoom: 1; }
.row>div { padding: 0 20px; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger { padding: 15px 15px; display: inline-block; cursor: pointer; transition-property: opacity, filter; transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; text-transform: none; background-color: transparent; border: 0; margin: 0; overflow: visible; }
.hamburger:hover { opacity: 0.7; }
.hamburger-box { width: 40px; height: 24px; display: inline-block; position: relative; }
.hamburger-inner { display: block; top: 50%; margin-top: -2px; }
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after { width: 40px; height: 4px; background-color: #ffffff; border-radius: 4px; position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; }
.hamburger-inner::before,
.hamburger-inner::after { content: ""; display: block; }
.hamburger-inner::before { top: -10px; }
.hamburger-inner::after { bottom: -10px; }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner { top: 2px; transition: background-color 0s 0.13s linear; }
.hamburger--spring .hamburger-inner::before { top: 10px; transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spring .hamburger-inner::after { top: 20px; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spring.is-active .hamburger-inner { transition-delay: 0.22s; background-color: transparent; }
.hamburger--spring.is-active .hamburger-inner::before { top: 0; transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--spring.is-active .hamburger-inner::after { top: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 10px, 0) rotate(-45deg); }


/*
 * Desktop
 */

button.menu-toggle-custom{ display: none;  }
.t115-banner-gallery-wrapper.internal.inner-page-gallery{ height: 400px; }

div#home-services{ background-size: cover; }

.i001-list-item .i001-list-wrap p b{ font-weight: 300; }

.t115-nav-bar-inner.t115-wrapper { width: 100%;  max-width: 100%; }

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea { width: 100%; }

div.wpcf7{ overflow: hidden; }

.contact-page-content{ overflow: hidden; }
.contact-page-content .left-content{ float: left; width: 66%; }
.contact-page-content .right-content{ float: left; width: 34%; }

.internal .t115-gallery-item .hero-image-mobile { display: none; }

.i001-detail,
.i001-detail * { box-sizing: border-box; }

.i001-detail-wrap { margin: 0; padding: 0; width: 74%; float: left; padding-right: 27px; }
.i001-detail-image { float: right; text-align: right; width: 26%; overflow: hidden; }
.i001-detail-image .img img{ max-width: 100%; height: auto; }

@media only screen and (max-width: 1800px) {
    div#home-intro{ background-position: center top !important; padding: 50px 25px; }
}
@media only screen and (max-width: 1480px) {
    div#home-intro{ background-position: center top !important; }
    .internal .t115-gallery-item { height: auto !important; padding-top: 21.0194429848%; }
    .internal .t115-gallery { height: auto; padding-top: 21.0194429848%; }
    .internal.home-gallery .t115-gallery-item { height: auto !important; padding-top: 0; }
    .internal.home-gallery .t115-gallery { height: auto !important; padding-top: 0; }
    .t115-banner-gallery-wrapper.internal.inner-page-gallery { height: auto; }
    .t115-banner-gallery-wrapper.hp{ height: auto !important; }
    .internal .t115-gallery-item .hero-image-mobile { display: block; width: 100%; }
}
@media only screen and (max-width: 1300px) {
    div#home-intro{ background-position: center top !important; }
}
@media only screen and (max-width: 1280px) {
    .services-container { padding-top: 42%; min-height: auto; height: auto; }
    h2.services-text { position: absolute; bottom: 20px; left: 20px; z-index: 2; font-style: italic; color: #FFF; font-size: 24px; font-family: 'Oswald', sans-serif; min-height: 66px; }
    div#home-intro{ background-position: center top !important; }
}
/*
 * Tablet
 */
@media only screen and (max-width: 1200px) {

    .col-md-p-12{width:100%;}

	.topbar-container{ top: 7px; }
	.topbar-location, .topbar-phone{ display: block; margin: 0; }
	.topbar-container p{ margin: 5px 0; }
	.services-container{ width: 33.3333333333% }
    .t115-banner-gallery-wrapper.internal.inner-page-gallery { height: auto; }
    div#home-intro{ background-position: -150% top !important; }

    img.services-img-bw.tool-htmledit-img{ width: 100%; min-height: auto; }

    .banner-txt .content-wrap{ margin-bottom: 50px; }
    div#home-intro { padding: 50px 20px; height: auto; background: white !important;}
    div#home-intro h1{ margin: 0; }
    #home-intro .banner-txt__background {
        display: none;
    }

    

    .services-container { padding-top: 35%; min-height: auto; height: auto; }
    h2.services-text { position: absolute; bottom: 20px; left: 0; padding-left: 20px; z-index: 2; margin: 0; font-style: italic; color: #FFF; font-size: 22px; font-family: 'Oswald', sans-serif; min-height: 66px; }
}

/*
 * Tablet
 */
@media only screen and (max-width: 1024px) {
    /* Tablet grid */
    .col-md-12{width:100%;}
    .col-md-11{width:91.666666666667%;}
    .col-md-10{width:83.333333333333%;}
    .col-md-9{width:75%;}
    .col-md-8{width:66.666666666667%;}
    .col-md-7{width:58.333333333333%;}
    .col-md-6{width:50%;}
    .col-md-5{width:41.666666666667%;}
    .col-md-4{width:33.333333333333%;}
    .col-md-3{width:25%;}
    .col-md-2{width:16.666666666667%;}
    .col-md-1{width:8.3333333333333%;}

    /* Helpers */
    .hidden-tablet { display: none; }
    .visible-tablet { display: block; }

    img.services-img-bw.tool-htmledit-img{ width: 100%; min-height: auto; }

    #home-services h3{ margin-top: 0; margin-bottom: 10px; }
    .banner-txt .content-wrap{ margin-bottom: 50px; }
    div#home-services{ padding: 50px 20px; }
    div#home-intro { padding: 50px 20px; height: auto; background: white !important;}
    div#home-intro h1{ margin: 0; }
    div#home-intro .content-wrap { margin-bottom: 0; }

    .i001-list { margin-bottom: 11px; padding: 0 20px; }

    .i001-detail{ padding: 0 20px; }




}

/*
 * Mobile
 */
@media only screen and (max-width: 990px) {
    /* Mobile grid */
    .col-sm-12{width:100%;}
    .col-sm-11{width:91.666666666667%;}
    .col-sm-10{width:83.333333333333%;}
    .col-sm-9{width:75%;}
    .col-sm-8{width:66.666666666667%;}
    .col-sm-7{width:58.333333333333%;}
    .col-sm-6{width:50%;}
    .col-sm-5{width:41.666666666667%;}
    .col-sm-4{width:33.333333333333%;}
    .col-sm-3{width:25%;}
    .col-sm-2{width:16.666666666667%;}
    .col-sm-1{width:8.3333333333333%;}

    /* Helpers */
    .hidden-mobile { display: none; }
    .visible-mobile { display: block; }

    .t115-banner-gallery-wrapper.internal { height: auto; }
    .internal .t115-gallery-item .hero-image-mobile { width: 100%; height: auto; max-width: 100%; display: block; }
    .services-container { width: 33.3333333333%; background: #000000; position: relative; padding-top: 36%; height: auto; min-height: auto; margin: 0; }
    h2.services-text { position: absolute; bottom: 20px; left: 20px; z-index: 2; font-style: italic; color: #FFF; font-size: 24px; font-family: 'Oswald', sans-serif; min-height: 66px; }
    img.services-img-bw.tool-htmledit-img { width: 100%; min-height: auto; position: absolute; top: 0; z-index: 1; left: 0; }


    .topbar-location{ float: left; width: 60%; }
    .topbar-location img{ display: inline; }
    .topbar-location p{ display: inline; }
    .topbar-phone{ float: left; width: 40%; }
    .topbar-phone img{ display: inline; }
    .topbar-phone p{ display: inline; }

    .t115-nav-bar-inner.t115-wrapper { width: 100%; position: static; }
    .t115-nav { background: #d41d25; display: none; position: absolute; width: 100%; top: 100%; float: none; margin-top: 0; }
    .t115-nav ul.w123-std-menu{ height: auto; }
    .t115-nav ul.w123-std-menu li{ float: none; display: block; }
    .t115-nav ul.w123-std-menu li a{ padding: 15px 20px; }

    button.menu-toggle-custom{ position: absolute; bottom: 20px; right: 20px; display: block;}

    .t115-nav-bar.sticky{ position: absolute; padding-top: 30px; }
    .topbar-container { top: 0; right: 0; padding: 0 20px; position: absolute; }
    .t115-nav-bar .t115-logo { position: absolute;left: 20px; bottom: 20px; top: auto; }

    .t115-footer-anchor { float: none; }
    .t115-footer-left { position: relative; left: auto; top: auto; text-align: center; }
    .footer-license { float: none; margin-top: 0; position: relative; right: auto; }
    .t115-footer-right { position: relative; right: auto; top: auto; display: block; width: 100%; text-align: center; }
    .t115-footer-menu { float: none; margin-top: 10px; }
    .t115-banner-gallery-wrapper.internal.inner-page-gallery { height: auto; }
    


    .i001-detail{ padding: 0 20px; }
    
    .i001-image-right .i001-detail-image { float: none; text-align: left; width: 100%; display: block; margin-bottom: 30px; }
    .i001-image-right .i001-detail-image .img{ text-align: center; }
    .i001-detail-wrap { margin: 0; padding: 0; }

    .contact-page-content .left-content{ float: none; width: 100%; padding: 0 20px; box-sizing: border-box; }
    .contact-page-content .right-content{ float: none; width: 100%; text-align: center; padding: 0 20px; box-sizing: border-box; }
    .gmap { float: none !important; display: inline-block; overflow:hidden; padding-bottom:56.25%; position:relative; height:0; width: 100%; }
    .gmap > iframe{ left:0; top:0; height:100%; width:100%; position:absolute; }
    .i001-detail{ padding: 0 20px; }

    .i001-detail-wrap {width: 100%; float: none; padding-right: 0; }
    .i001-detail-image { float: none; text-align: center; width: 100%; }
}

@media only screen and (max-width: 767px){
    .t115-banner-gallery-wrapper.internal { height: auto; }

    #home-services h3{ font-size: 22px; }
    body, td, th, div, p, li{ font-size: 14px; }
    .services-container{ width: 100%; padding-top: 80%; }
    #home-contact-cta h3{ font-size: 16px; }
    div#home-intro h1{ font-size: 22px; }
    #home-intro p{ font-size: 14px; }
    #home-intro a.img-btns{ display: block; width: 100%; }
    #home-intro a.img-btns > img.tool-htmledit-img{ display: block; margin: 0 auto; }
    #home-intro a.img-btns + a.img-btns{ margin-top: 10px; }
    #home-contact-cta{ padding: 40px 0 30px; }

    .topbar-container { top: 5px;  right: 0; left: 0; padding: 0 20px; position: absolute; }
    .topbar-location{ display: none; }
    .topbar-phone { float: none; width: 100%; text-align: center; }
    .topbar-phone img { display: inline-block; }
    .topbar-phone p { display: inline-block; }
    .t115-nav-bar .t115-logo{ width: 60%; }
    .t115-nav-bar .t115-logo img{ display: block; max-width: 100%; }
    .t115-nav-bar.sticky { padding-top: 0; }
    .i001-detail h1{ font-size: 26px; }
    p.es-intro{ font-size: 120%; }

    .i001-list-item .i001-list-image { float: none; width: 100%; text-align: left; padding: 0; }
    .i001-list-item .i001-list-wrap { margin: 0; padding: 0; }

    .contact-page-content{ padding: 0 20px; }

}




















