/* IVUWORKS STYLES #344202 */

* {
    outline: none;
    outline-color: #68bb4b;
    outline-color: #58585a;
    outline-color: #4c534a;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


@font-face {
    font-family: 'GLB';
    src: url('../fonts/Gilroy-ExtraBold/Gilroy-ExtraBold.eot?#iefix') format('embedded-opentype'),  url('../fonts/Gilroy-ExtraBold/Gilroy-ExtraBold.otf')  format('opentype'),
    url('../fonts/Gilroy-ExtraBold/Gilroy-ExtraBold.woff') format('woff'), url('../fonts/Gilroy-ExtraBold/Gilroy-ExtraBold.ttf')  format('truetype'), url('../fonts/Gilroy-ExtraBold/Gilroy-ExtraBold.svg#Gilroy-ExtraBold') format('svg');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'GL';
    src: url('../fonts/Gilroy-Light/Gilroy-Light.eot?#iefix') format('embedded-opentype'),  url('../fonts/Gilroy-Light/Gilroy-Light.otf')  format('opentype'),
    url('../fonts/Gilroy-Light/Gilroy-Light.woff') format('woff'), url('../fonts/Gilroy-Light/Gilroy-Light.ttf')  format('truetype'), url('../fonts/Gilroy-Light/Gilroy-Light.svg#Gilroy-Light') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* ::selection {background: orange; color: white;} */

article, aside, details, div, figcaption, figure, footer, header, hgroup, nav, section {display: block;}

body, img, p, h1, h2, h3, h4, h5, h6, ul, ol, li, form, blockquote, dl, dt, dd, button, input {
    margin: 0;
    padding: 0;

}

a, a:hover, a:active, a:visited {text-decoration: none; outline: none !important;}

.clear {
    clear:both;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}


a {
    color: #000;
}

a:hover {
    text-decoration: underline;
}

html, body {
    height: 100%;
}

body {
    font-family: 'GL', Arial;
    font-size:62.5%; /*1em is 10px */
    margin-right: 0 !important;
    background:url(../i/bgr.jpg) center top no-repeat;
    padding-top: 8px;
}

#wrap {
    min-height: 100%;
}

#main {
    padding-bottom: 0px; /* must be equal to footer's height */
}

.pre-center {
    margin: 0 auto;

}

body:before {   /* old(real) Opera browser fix */
    content: "";
    float: left;
    height: 100%;
    margin-top: -32767px;
    width: 0;
}

.map {
    padding-top: 0px;
}

iframe {vertical-align: top;}

.fancybox-lock {
    overflow: visible;
}

.fancybox-overlay {
    overflow: hidden !important;
}

img {
    max-height: 100%;
    max-width: 100%;
}

ul { list-style-type: none;}


h1 {font-size:26px;}
h2 {font-size:24px;}
h3 {font-size:22px;}
h4 {font-size:20px;}
h5 {font-size:18px;}
h6 {font-size:17px;}

hr {
    border: 0;
    background: #b2c311;
    height: 4px;
}
/* ------------------------------------ GENERAL ------------------------------------- */

.right {
    float: right;
}

.left {
    float: left;
}

.no-border {  border: none !important;}
.no-right {   border-right: none !important;}
.no-left {    border-left: none !important;}
.no-bottom {    border-bottom: none !important;}
.no-top {    border-top: none !important;}

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.tabulation {
    display: inline-block;
    width: 10px;
}

.uppercase {
    text-transform: uppercase !important;
}

.yellow {
    color: #fcee32 !important;
    border-color: #fcee32 !important;
}

.white {
    color: #fff !important;
    border-color: #fff !important;
    background: #fff !important;
}

/* ERROR SUCCESS */

.error404 {
    width: 100%;
    font-size: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 10% 0 15%;
    text-transform: uppercase;
}

.error404 div {
    margin-top: 80px;
    font: normal 200px/200px 'GL',Arial;
    color: #fff;
}

.error404 p {
    color: #fff;
    font: normal 20px/34px Arial,'Georgia','Playfair Display';
}

.error404 a {
    font: normal 17px/42px 'GL',Arial;
    color: #fff;
}

.error, .success {
    position: relative;
    width: auto;
    margin: 20px 0px 10px;
    padding: 10px 15px;
    font: 14px/18px "GL", Arial, sans-serif;
    border: 5px solid transparent;
}

.error {
    color: #ffffff;
    background: #d85151;
}

.success {
    color: #ffffff;
    background: #68bb4b;
}

.error ul, .success ul {
    list-style-type: disc;
    list-style-position: inside;
}

.error a:hover, .success a:hover, .field-error a { text-decoration: underline; }

.close {
    position: absolute;
    top: 6px;
    right: 6px;
    font-size: 2em;
    color: #000000;
}


i.fakecheck {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background-color: #e5e5e5;
    margin-right: 5px;
}

.serv label {
    color: #f89c39;
    cursor: pointer;
    margin: 0 10px;
}

.serv label * {
    vertical-align: middle;
}

.serv input:checked ~ span {
    /*     color: #ff5e3a; */
}
.serv input:checked ~ .fakecheck {
    /*     color: #ff5e3a; */
    background: url(../i/_spriteR.png) center 4px no-repeat #e5e5e5;
}

.serv input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    left: -10000px;
}

.serv > span {
    margin-right: 20px;
}

.fullwidth, input.fullwidth {
    width: 100%;
}

/* article */

article {
    padding: 10px 0;
}
article, p, article p, article ul, article ol {
    color: #4c534a;
    font: normal 14px/22px Tahoma,Arial;
}

article ul, article ol {
    list-style-position: inside;
}

article ul, article ol, article p {
    margin: 0px 0 20px;
}
article ul {
    list-style-type: disc;
    list-style-position:outside;
    padding-left:20px;
}

article a:hover {
    text-decoration: underline;
}

#price-list h2,
article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
    font-family: 'GL',Arial;
    font-weight: 600;
    margin: 5px 0;
    color: #233b43;
    text-transform: uppercase;
}

article a {
    color: #f89c39;
}

.hidden {display: none;}
.btn.mail {
    border: 2px solid transparent;
    color: black;
    text-transform: lowercase;
    font: 300 16px/24px 'GL',Arial;
    padding: 4px 10px 6px 38px;
    background: url(../i/_spriteR.png) 10px -19px no-repeat;
    float: right;
    margin-top: 30px;
    text-shadow: none;
}

.btn.mail:hover,.btn.mail:active {
    background-color: 0;
    background: url(../i/_spriteR.png) 10px -19px no-repeat;
    border: 2px solid #FFA500;
    /*     color: white; */

}
nav li a,
nav,
.gallery li a,
nav > .navwrap > a:before,
.picture,
.slide a span,
.fx {
    -webkit-transition: all 0.2s linear;
    -moz-transition:all 0.2s linear;
    transition:all 0.2s linear;
}


/* ------------------------------------ HEADER ------------------------------------- */


.center {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 210px;
}

header {
    top:0;
    width: 100%;
    z-index:999;
    text-align: right;
}
#menu,
header label {display: none;}


header .center {
    padding-left: 0;
}

.logo {
    padding: 15px 20px 18px;
    display: block;
    float: left;
}

.logo img {vertical-align: top;}


.head-box {
    display: inline-block;
    vertical-align: middle;
    font: normal 12px/18px 'GL',Arial;
    color: #58585a;
}

header .center > * {
    text-align: left;
}

header .head-box {
    margin-top: 49px;
}

.head-box a {
    font: normal 13px/20px 'GL',Arial;
    color: #333333;
    vertical-align: top;
    display: inline-block;
    text-decoration: none;
}
.head-box strong {
    color: #68bb4b;
    font-size: 20px;
    font-family: 'GLB',Arial;
    margin-left: 2px;
    font-weight: normal;
    vertical-align: bottom;
}

.head-box a:hover strong {
    color: #58585a;
}

.head-box.phone,
.head-box.mail {
    padding-left: 65px;
    background-image: url(../i/_spriteR.png);
    background-repeat: no-repeat;
    background-position: 12px -69px;
}

.head-box.mail {
    background-position: 12px -2px;
    margin-left: 50px;
}

.head-box.phone {
    margin-left: 50px;
    margin-right: 30px;
}

.head-box a.extlink {
    border: 1px solid #f03338;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    padding: 0 25px;
    font: normal 15px/50px 'GL',Arial;
    color: #333333;
    margin-right: 5px;
    margin-top: -10px;
    float: right;
    box-shadow: 2px 3px 0px #f6dcdd;
}

.head-box a.extlink:hover {
    background: #f03338;
    color: #fff;
    box-shadow: 2px 3px 0 #ccc;
}

.facebooklink {
    display: inline-block;
    vertical-align: middle;
    margin-top: 50px;
    margin-right: 10px;
    font: normal 17px/35px 'GLB',Arial;
    color: #4c534a;
    font-style: italic;
}

.icon.fb {
    width: 35px;
    height: 35px;
    background: url(../i/_spriteR.png) center -135px no-repeat;
    display: inline-block;
    vertical-align: middle;
}


nav {
    position: fixed;
    left: 0;right: 0;
    max-width: 1200px;
    height: 0;
    margin: auto;
    top:0;
    z-index: 9999;
}
nav .navwrap {
    position: absolute;
    text-align: left;
    top:188px;
    left: 0;
    width: 210px;
    padding: 0 40px 0 20px;
}

nav ul a {
    font: normal 20px/50px 'GLB',Arial;
    color: #4c534a;
    border-bottom: 2px solid #90d63e;
    display: block;
}
nav li.active a,
nav a.active,
nav a:hover {
    text-decoration: none;
    color: #90d63e;
}

nav > .navwrap > a  {
    margin-top: 30px;
    font: normal 13px/26px 'GLB',Arial;
    color: #4c534a;
    text-transform: uppercase;
    font-style: italic;
    text-align: center;
    display: block;
    padding-right: 20px;
    position: relative;
}
.icon {
    display: inline-block;
    vertical-align: top;
}
.mouse {
    width: 30px;
    height: 40px;
    vertical-align: middle;
    background: url(../i/_spriteR.png) center -200px no-repeat;

}
nav > .navwrap > a:hover {
    color: #90d63e;
}
nav > .navwrap > a:after {
    content: "";
    width: 20px;
    height: 13px;
    background: url(../i/_spriteR.png) center -242px no-repeat;
    display: inline-block;
    vertical-align: top;
    margin-left: 5px;
}
nav > .navwrap > a:before {
    content: "";
    position: absolute;
    bottom: 13px;
    left: 0;right: 15px;
    margin: auto;
    width: 40px;
    height: 13px;
    background: url(../i/_spriteR.png) center -242px no-repeat;
    display: inline-block;
    vertical-align: top;
}

nav > .navwrap > a:hover:before {
    bottom: 0;
}


.index-top {
    position: relative;
}

.block1 {
    position: absolute;
    top:270px;
    left: 30px;
    z-index: 2;
}

.block2 {
    float: right;
    position: relative;
    color: #fff;
    z-index: 1;
}
.block2 h1 {
    position: absolute;
    font: 100 34px/45px 'GLB',Arial;
    color: #fff;
    text-transform: uppercase;
    z-index: 2;
    padding-left: 50px;top:55px;
}
.block2 h1:after,
.block2 h1:before {
    content: "";
    width: 40px;
    height: 4px;
    background: #fff;
    position: absolute;
    left: 0;
    top:30px;
}
.block2 h1:after {
    content: "";
    width: 50px;
    left: auto;
    top:auto;
    bottom: 9px;
    right: 0;
    opacity: 0.5;
}
.block2 h2 {
    position: absolute;
    font: normal 35px/57px 'Bad Script';
    color: #fff;
    left: 50px;
    top:160px;
    z-index: 3;
}
.block2 img {
    vertical-align: top;
}
.overlay {
    background: url(../i/opacityoverlay.jpg) center top no-repeat;
    opacity: 0.8;
    position: absolute;
    left: 0;right: 0;top:0;bottom: 0;
    background-size: cover;
}

section {
    margin: 40px 0;
}

.section-title {
    color: #68bb4b;
    font: normal 40px/45px 'GLB',Arial;
    border-bottom: 4px solid #68bb4b;
    margin-bottom: 45px;
}

.section-title span {
    display: inline-block;
    vertical-align: bottom;
    padding-right: 10px;
    border-bottom:4px solid #fff;
    top:4px;
    position: relative;
    line-height: 18px;
}

#about .section-title span {
    border-color: #fcfcfe;
}

#about article {
    -webkit-columns:2;
    -moz-colums: 2;
    columns:2;
    -webkit-column-gap: 25px;
    -moz-column-gap: 25px;
    column-gap: 25px;
}
@media screen and (min-width:1024px) {
    #about article {
        max-height: 670px;
    }
}

article p {
    page-break-inside: avoid;
    page-break-after: avoid;
}

.extra {
    width: 50%;
    padding-right: 20px;
    float: left;
    margin-top: 20px;
    margin-bottom: 30px;
}
.extra .icon {
    width: 100px;
    height: 100px;
    display: inline-block;
    vertical-align: middle;
    border: 4px solid #90d63e;
    background-image: url(../i/_sprite2.png);
    background-repeat: no-repeat;
}
.extra strong {
    font: normal 20px/24px 'GL',Arial;
    color: #4c534a;
    margin-left: 10px;
    display: inline-block;
    vertical-align: middle;
    width: 75%;
    width: calc(100% - 130px);
}

.highway {  background-position: center 18px;  }
.crane   {  background-position: center -402px;  }
.police   {    background-position: center -132px;  }
.parking   {   background-position: center -549px;  }
.structure  {  background-position: center -282px;  }
.showroom   {  background-position: center -698px;  }

.gallery {
    margin: 0 -15px 0 0;
}

#gallery .center {
    overflow: hidden;
}

.gallery ul {
    display: inline-block;
    vertical-align: top;
    width: 100%;
}
.gallery li {
    width: 25%;
    padding-right: 15px;
    float: left;
}

.gallery li a {
    display: block;
    height: 132px;
    margin-bottom: 15px;
    box-shadow: 0 0px 0 #4c534a;
}

.gallery li a:hover {
    box-shadow: 0 5px 0 #68bb4b;
}

.gallery li a img {
    vertical-align: top;
    object-fit:cover;
    width: 100%;
    height: 100%;
}








.location {
    position: relative;
    height: 666px;
}
.map {
    height: 570px;
    background: url(../i/map.jpg) left top no-repeat;
    background-size: cover;
    left: -395px;
    position: absolute;
    top:0;
    right: 0;
}

.mapinit {
    position: absolute;
    left: 0;right: 0;top:0;bottom: 0;
    display: block;
}

.column {
    width: 50%;
}

.location .column {
    position: relative;
}


.quick-connect .head-box {
    margin-top: 0px;
}
.quick-connect .facebooklink {
    margin-top: 0px;
}
.quick-connect .mail {
    margin-left: -20px;
}

.subtitle {
    font: normal 22px/24px 'GL',Arial;
    color: #4c534a;
    margin: 40px 0 20px;
    display: block;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input, textarea, select {
    width: 100%;
    font: normal 13px/23px 'GL',Arial;
    height: 40px;
    color: #333333;
    border: 1px solid #cccccc;
    margin-bottom: 18px;
    padding: 0 20px;
}

input:focus, textarea:focus {
    border-color: #68bb4b;
}

textarea {
    background: url(../i/textfieldrow.jpg) left bottom repeat-y #fff scroll;
    padding: 0 20px;
    line-height: 40px;
    resize: none;
    height: 160px;

}

form ::-webkit-input-placeholder {
    font-style: italic;
    color: #333333;
}
.column-wrap {
    font-size: 0;
    max-width: 820px;

}
.column-wrap .column {
    display: inline-block;
    vertical-align: top;
    padding-right: 20px;
}

.bttn {
    width: 100%;
    font: normal 15px/17px 'GL',Arial;
    color: #fff;
    background: #68bb4b;
    border: 0;
    box-shadow: none;
    text-align: center;
    padding: 20px 10px;
    text-transform: uppercase;
}

.g-recaptcha {
    margin-bottom: 25px;
}

.copy {
    border-top:1px solid #e5e5e5;
    padding: 40px 0px;
    font: normal 14px/18px 'GL',Arial;
    color: #4c534a;
}

.copy img {
    width: 67px;
}

.bttn:hover {
    background: #4c534a;
}
.location img {
    max-width: 100000px;
    max-height: 100000px;
    max-width: none;
    max-height: none;
}

/* vvvvvvvvvvvvvv < MEDIA QUERIES > vvvvvvvvvv */



@media screen and (max-width:1200px) {
    .location .column {
        width: 100%;
    }
    .map {
        left: 210px;
    }
    .copy {
        padding: 20px;
    }
}

@media screen and (max-width:1180px) {
    header .head-box.mail,
    header .head-box.phone {
        margin-left: 15px;
        padding-left: 0;
        background: 0;
    }

}

@media screen and (max-width:1080px) {
    header .facebooklink,
    header .head-box.mail,
    header .head-box.phone {
        display: none;
    }
    header .center {
        padding-left: 0;
        text-align: center;
    }
    header .center > * {
        float: none;
        text-align: center;
    }
}

@media screen and (max-width:1024px) {
    #about article {
        -webkit-columns: 1;
        -moz-colums: 1;
        columns: 1;
    }
}

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


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


@media screen and (max-width:860px) {
    .center {
        padding-left: 15px;
        padding-right:15px;
    }
    nav {
        width: 200px;
        margin: 0;
        top:0;bottom: 0;
        left: -200px;right: auto;
        background: rgba(255, 255, 255, 0.87);
        height: auto;
        border-right: 1px solid #68bb4b;
    }
    #menu:checked ~ nav {
        left: 0;
    }
    header label {
        background: url(../i/favicon.png) left center no-repeat #fff;
        background-size: contain;
        width: 90px;
        height: 40px;
        display: inline-block;
        vertical-align: top;
        position: fixed;
        z-index: 3949393493;
        left: 0;
        top:7px;
        border: 1px solid #68bb4b;
        border-left: 0;
        cursor: pointer;
        display: none;
    }
    header label span {
        position: relative;
        left: 50px;
        display: block;
        bottom: 0;
        width: 30px;
        margin-top: 10px;
        height: 4px;
        box-shadow: 0 18px 0 0 #58585a, 0 9px 0 0 #58585a;
        background: #58585a;
    }
    .map {
        left: 0;
    }
    .gallery li {
        width: 50%;
    }
}

@media screen and (max-width:768px) {
    .gallery li {
        width: 100%;
    }
    .gallery li a {
        height: 150px;
    }
    .extras-wrap .extra {
        width: 100%;
    }
    .quick-connect .mail {
        margin-left: 0;
    }
    .quick-connect > .head-box.phone,
    .quick-connect > * {
        display: block;
        margin-left: 0;
        margin-bottom: 10px;
    }
    #mapinit {
        display: none;
    }
}

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

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

}

@media screen and (max-width:642px) {
    .block2 h1 {
        font-size: 30px;
        line-height: 35px;
        position: relative;
        padding-left: 20px;
        left: auto;
    }
    .block2 h2 {
        position: relative;
        top:80px;
        padding-left: 20px;
        left: auto;
    }
    .block2 h1:after, .block2 h1:before {
        display: none;
    }
    .block1 {
        position: absolute;
        left: 0;
        right: 0;
        text-align: center;
        margin: auto;
        display: none;
    }
    .block2 {
        margin: 0 -15px;
    }
    .column-wrap .column {
        width: 100%;
        padding-right: 0;
    }
    .copy .left,
    .copy .right {
        float: none;
        display: inline-block;
    }
}

@media screen and (max-width:480px) {
    .block2 h1 {
        font-size: 20px;
        line-height: 30px;
    }
    .extra .icon {
        vertical-align: top;
    }
}


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

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

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

}

@media screen and (max-width:360px) {
    .g-recaptcha {
        transform: scale(.8)
    }

}


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

}


@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {

}

@media all and (orientation: portrait) {

}

@media all and (orientation: landscape) {

}


@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) { /*ipads*/

}

@media screen and (min-width:0\0) {
    /* Enter ~~~IE 9 10 11CSS here */
}

