/* =========================
       G E N E R A L
 ========================= */

html {
    height: 100%;
}

body {
    background: #fff;
    font-family: 'Muli', sans-serif;
    /*font-family: 'Open Sans', sans-serif;*/
    font-size: 16px;
    color: #474747;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

.container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 1200px;
}

img {
    max-width: 100%;
    vertical-align: middle;
}

a {
    color: #166936;
    text-decoration: none;
    transition: all .5s ease;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
}

a:hover {
    color: #474747;
}

p {
    line-height: 150%;
    margin-bottom: 15px;
    font-weight: 300;
}

.section {
    position: relative;
    width: 100%;
    margin: 100px 0;
    overflow: hidden;
}

.row {
    margin-left: -15px;
    margin-right: -15px;
}

.row-flex {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

.col-33 {
    float: left;
    width: 33.3333%;
}

.row-flex > .col-33 {
    float: none;
}

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

.col-50-d {
    float: left;
    width: 50%;
    padding: 0 15px;
}

.description-wrap {
    margin-bottom: 50px;
}

.description-wrap p {
    margin-bottom: 0;
    text-align: justify;
}

@media only screen and (max-width: 768px) {
    .col-50-d {
        float: none;
        width: 100%;
    }

    .description-wrap {
        margin-bottom: 20px;
    }

    .description-wrap p {
        margin-bottom: 15px;
        text-align: left;
    }
}


/* =========================
            H E A D E R
 ========================= */

#main-header {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    background-color: #fff;
    z-index: 101;
    border-bottom: 1px solid #5a1f17;
}

#main-header,
#logo,
#logo > a,
#main-menu,
#main-menu.sticky,
.underlinemenu li,
.cart-preview {
    transition: all .5s ease;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
}

#logo {
    float: left;
    width: 260px;
    padding-top: 10px;
    padding-bottom: 10px;
}

#logo > a {
    display: block;
    width: 100%;
}

#main-menu {
    padding-bottom: 10px;
    background-color: #fff;
}

#main-menu.sticky {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    border-bottom: 1px solid #5a1f17;
}

.underlinemenu {
    list-style: none;
    text-align: right;
}

.underlinemenu > li {
    position: relative;
    display: inline-block;
    margin: 0 4px 0 4px;
}

.underlinemenu > li > a,
.underlinemenu > li.active > a {
    position: relative;
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: #0c0b0c;
    padding: 6px 14px;
    border: 2px solid transparent;
    background-color: transparent;
    text-transform: uppercase;
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -o-transition: all .5s ease-out;
    transition: all .5s ease-out;
}

.underlinemenu > li > a:hover,
.underlinemenu > li.active > a,
.underlinemenu > li > a:focus {
    border: 2px solid #bf3413;
}


/* ------------------------ */

@media only screen and (max-width: 1100px) {
    .underlinemenu > li > a,
    .underlinemenu > li.active > a {
        padding: 6px;
    }
}

@media only screen and (max-width: 1024px) {
    #main-header,
    #main-header.sticky,
    #logo,
    #logo > a,
    #main-menu,
    .underlinemenu li,
    .underlinemenu > li > a,
    .submenu > li > a{
        transition: none;
        -webkit-transition: none;
        -moz-transition: none;
        -o-transition: none;
    }

    #main-header {
        position: static;
        min-height: 60px;
        padding-top: 5px;
        z-index: 101;
    }

    #logo {
        width: 220px;
    }

    #main-menu.sticky {
        position: static;
    }
    #main-menu {
        position: static;
        display: none;
        float: none;
        width: 100%;
        text-align: left;
        padding-top: 35px;
    }

    .underlinemenu {
        text-align: left;
    }

    .underlinemenu > li {
        display: block;
    }

    .underlinemenu > li > a {
        padding: 10px;
    }
}

@media only screen and (min-width: 1025px) {
    #main-menu {
        display: block !important;
    }
}

@media only screen and (max-width: 650px) {
    #logo {
        width: 220px;
        float: none;
    }
}

@media only screen and (max-width: 400px) {
    #logo {
        width: 200px;
    }

}



/* =========================
       M O B I L E  M E N U
 ========================= */

#nav-toggle {
    position: absolute;
    display: none;
    width: 30px;
    height: 12px;
    top: 24px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
}

#nav-toggle:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 12px;
    left: 0;
    top: -11px;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
    border-radius: 1px;
    height: 1px;
    width: 30px;
    background: #bf3413;
    position: absolute;
    display: block;
    content: '';
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}

#nav-toggle span:before {
    top: -6px;
}

#nav-toggle span:after {
    bottom: -6px;
}

#nav-toggle.active span {
    background-color: transparent;
}

#nav-toggle.active span:before,
#nav-toggle.active span:after {
    top: 0;
}

#nav-toggle.active span:before {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

#nav-toggle.active span:after {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

/* ------------------------ */

@media only screen and (max-width: 1024px), (max-device-width: 1024px) {
    #nav-toggle {
        display: block;
    }
}


/* =========================
       TOTOP
 ========================= */

#toTop {
    width: 30px;
    height: 30px;
    background: #fff url("../images/arrow-toTop.png") center center no-repeat;
    background-size: contain;
    text-align: center;
    padding: 10px;
    line-height: 20px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    display: none;
    z-index: 40;
    border: 1px solid #a6aaad;
}

/* =========================
       section
 ========================= */

.section-title {
    position: relative;
    font-family: 'Merriweather', serif;
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
    color: #250c0a;
    margin-bottom: 50px;
}

.section-title:before {
    position: absolute;
    content: '';
    width: 100px;
    height: 4px;
    bottom: -3px;
    left: calc(50% - 50px);
    background-color: #bf3413;
    z-index: -1;
}

.section-subtitle {
    font-family: 'Merriweather', serif;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    color: #250c0a;
    margin: 25px 0 20px 0;
}

.col-25 {
    float: left;
    width: 25%;
}

@media only screen and (max-width: 1024px) {
    .section {
        padding: 0;
        margin: 50px 0;
    }

    .section-title {
        font-size: 32px;
        margin-bottom: 40px;
        padding: 15px 30px 15px 0;
    }

}

@media only screen and (max-width: 768px) {
    .col-25 {
        width: 50%;
    }
}

@media only screen and (max-width: 500px) {
    .section {
        padding-top: 20px;
    }

    .col-25 {
        width: 100%;
    }
}

@media only screen and (max-width: 350px) {
    .section-title {
        font-size: 28px;
        margin-bottom: 30px;
    }

}

/* =========================
       main-footer
 ========================= */


#main-footer {
    padding: 50px 0 30px 0;
    border-top: 1px solid #5a1f17;
    background: url("../images/egg_shell.jpg") top left repeat;
    text-align: center;
    font-size: 14px;
}

#main-footer .col-33 {
    padding: 0 15px;
}

#main-footer .col-33:last-child {
    text-align: right;
}

#main-footer-nav {
    margin-bottom: 30px;
    text-align: left;
}

#main-footer-nav > li {
    margin: 10px 0;
}

#main-footer-nav > li > a {
    color: #0c0b0c;
    font-weight: 400;
    text-transform: uppercase;
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}

#main-footer-nav > li > a:hover {
    color: #bf3413;
}

#main-footer img {
    display: inline-block;
    margin-bottom: 15px;
}

#main-footer p {
    margin-top: 15px;
}

#main-footer p > a {
    display: inline-block;
    max-width: 150px;
    vertical-align: calc(4px);
}

#main-footer p > a > img {
    margin-bottom: 0;
}

@media only screen and (max-width: 900px) {
    #main-footer .col-33:last-child,
    #main-footer-nav {
        text-align: center;
    }
}

@media only screen and (max-width: 768px) {
    #main-footer .col-33 {
        float: none;
        width: 100%;
        margin-bottom: 30px;
    }

    #main-footer-nav {
        margin-bottom: 0;
    }
}



/* ------------------------------------------------------------------------------------------- */

/* =========================
       banner
 ========================= */

.banner.main-banner {
    position: relative;
    height: 420px;
    text-align: center;
    background: url("../images/banner-1.jpg") top center no-repeat;
    background-size: contain;
    background-attachment: fixed;
    margin-top: 115px;
}

.banner.small-banner {
    position: relative;
    height: 200px;
    text-align: left;
    margin-top: 115px;
}

.banner.small-banner.housesign {
    background: url("../images/banner-1-housesigns.jpg") no-repeat;
    background-size: contain;
    background-attachment: fixed;
}

.banner.small-banner.memorials {
    background: url("../images/banner-1-memorials.jpg") no-repeat;
    background-size: contain;
    background-attachment: fixed;
}

.banner.small-banner.roadsigns {
    background: url("../images/banner-1-roadsigns.jpg") no-repeat;
    background-size: contain;
    background-attachment: fixed;
}

.banner.small-banner.novelty {
    background: url("../images/banner-1-novelty.jpg") no-repeat;
    background-size: contain;
    background-attachment: fixed;
}

.banner.small-banner.sportsigns {
    background: url("../images/banner-1-sport.jpg") no-repeat;
    background-size: contain;
    background-attachment: fixed;
}

.banner.small-banner.cottagesigns {
    background: url("../images/banner-1-cottage.jpg") no-repeat;
    background-size: contain;
    background-attachment: fixed;
}

.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, .4);
}

.banner > .container {
    height: 100%;
}

.banner-content {
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    padding: 40px;
}

.banner-content > h1 {
    font-family: 'Merriweather', serif;
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    line-height: 120%;
    margin-bottom: 30px;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .5);
}

.banner.small-banner .banner-content > h1 {
    margin-bottom: 0;
}

.banner-content > a {
    display: inline-block;
    padding: 20px 45px;
    border: 3px solid #f18d51;
    background-color: transparent;
    color: #fff;
    text-transform: uppercase;
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}

.banner-content > a:hover {
    background-color: #f18d51;
    color: #5a1f17;
}

@media only screen and (max-width: 1360px) {
    .banner.main-banner {
        height: 350px;
    }
}

@media only screen and (max-width: 1180px) {
    .banner.main-banner {
        height: 300px;
        background-size: cover;
        /*background: url("../images/banner-1-1180.jpg") top center no-repeat;
        background-attachment: fixed;*/
    }
}

@media only screen and (max-width: 1024px) {
    .banner {
        margin-top: 5px;
    }

    .banner.main-banner {
        height: auto;
        /*background: url("../images/banner-1-1024.jpg") top left no-repeat;*/
        background-attachment: inherit;
        margin-top: 0;
    }

    .banner.small-banner {
        margin-top: 0;
        height: auto;
    }

    .banner.small-banner.housesign {
        background: url("../images/banner-1-housesigns-1000.jpg") no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .banner.small-banner.memorials {
        background: url("../images/banner-1-memorials-1000.jpg") no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .banner.small-banner.roadsigns {
        background: url("../images/banner-1-roadsigns-1000.jpg") no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .banner.small-banner.novelty {
        background: url("../images/banner-1-novelty-1000.jpg") no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .banner.small-banner.sportsigns {
        background: url("../images/banner-1-sport-1000.jpg") no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .banner.small-banner.cottagesigns {
        background: url("../images/banner-1-cottage-1000.jpg") no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .banner.main-banner .banner-content {
        position: static;
        top: auto;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        padding: 100px 20px;
    }

    .banner.small-banner .banner-content {
        position: static;
        top: auto;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        padding: 50px 20px;
    }

    .banner.small-banner .banner-content > h1,
    .banner.main-banner .banner-content > h1 {
        font-size: 36px;
    }
}

@media only screen and (max-width: 768px) {
    .banner .banner-content > h1 {
        font-size: 36px;
    }
}

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

    .banner.main-banner {
        /*background: url("../images/banner-1-1000.jpg") top center no-repeat;
        background-size: cover;*/
    }
}

@media only screen and (max-width: 350px) {
    .banner.main-banner .banner-content {
        padding: 80px 0;
    }
    .banner.main-banner .banner-content > h1 {
        font-size: 32px;
    }
}

/* =========================
         home
 ========================= */


#home-wrap .col-33 {
    padding: 0 15px;
    text-align: center;
}

#home-wrap .col-25 {
    text-align: center;
}

.product-teaser {
    padding: 20px;
    margin-bottom: 40px;
}

.product-teaser .has-img {
    margin-bottom: 25px;
}

/*.product-teaser.front .has-img {
    margin-bottom: 15px;
}*/

.product-teaser.front h2 {
    position: relative;
    font-family: 'Merriweather', serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 30px;
}

.product-teaser.front h2:before {
    position: absolute;
    content: '';
    width: 130px;
    height: 3px;
    bottom: -6px;
    left: calc(50% - 65px);
    z-index: -1;
}

.btn {
    display: inline-block;
    padding: 10px 15px;
    background-color: #bf3413;
    color: #0c0b0c;
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}

.housesigns .btn {
    background-color: #8c4634;
    color: #f4d1c2;
}

.novelty .btn {
    background-color: #57467b;
    color: #bb9dfa;
}

.memorials .btn{
    background-color: #73a0c0;
    color: #0c0b0c;
}

.roadsigns .btn{
    background-color: #a6a6a6;
    color: #585858;
}

.sportsigns .btn{
    background-color: #216869;
    color: #5af7f9;
}

.cottagesigns .btn{
    background-color: #216869;
    color: #5af7f9;
}

.cottagesigns .btn{
    background-color: #5b7553;
    color: #c6f7b7;
}

.btn:hover {
    background-color: #0c0b0c;
    color: #73a0c0;
}

.housesigns .btn:hover{
    background-color: #250c0a;
    color: #f4d1c2;
}

.memorials .btn:hover {
    background-color: #0c0b0c;
    color: #73a0c0;
}

.roadsigns .btn:hover {
    background-color: #585858;
    color: #a6a6a6;
}

.novelty .btn:hover {
    background-color: #271f38;
    color: #bb9dfa;
}

.sportsigns .btn:hover{
    background-color: #0b2323;
    color: #5af7f9;
}

.cottagesigns .btn:hover{
    background-color: #1c241a;
    color: #c6f7b7;
}

.size-select {
    position: relative;
    width: 100%;
    max-width: 250px;
    padding: 15px 20px 15px 15px;
}

.size-select:after {
    position: absolute;
    content: '';
    width: 30px;
    height: 30px;
    top: 50%;
    right: 5px;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    background: url("../images/icon-arrow-next.png") center no-repeat;
    background-size: contain;
    opacity: .15;
}

.roadsigns .size-select:after {
    background: url("../images/icon-arrow-next-grey.png") center no-repeat;
    background-size: contain;
    opacity: .2;
}

.novelty .size-select:after {
    background: url("../images/icon-arrow-next-violet.png") center no-repeat;
    background-size: contain;
    opacity: .2;
}

.sportsigns .size-select:after {
    background: url("../images/icon-arrow-next-sport.png") center no-repeat;
    background-size: contain;
    opacity: .2;
}

.cottagesigns .size-select:after {
    background: url("../images/icon-arrow-next-cottage.png") center no-repeat;
    background-size: contain;
    opacity: .2;
}

.btn.size-select.housesigns:after {
    background: url("../images/icon-arrow-brown.png") center no-repeat;
    background-size: contain;
    opacity: .7;
}
.btn.size-select.memorials:after {
    background: url("../images/icon-arrow-next-blue.png") center no-repeat;
    background-size: contain;
    opacity: .5;
}

.btn.size-select.roadsigns:after {
    background: url("../images/icon-arrow-next-grey.png") center no-repeat;
    background-size: contain;
    opacity: .5;
}

.btn.size-select.novelty:after {
    background: url("../images/icon-arrow-next-violet.png") center no-repeat;
    background-size: contain;
    opacity: .5;
}

.btn.size-select.sportsigns:after {
    background: url("../images/icon-arrow-next-sport.png") center no-repeat;
    background-size: contain;
    opacity: .5;
}

.btn.size-select.cottagesigns:after {
    background: url("../images/icon-arrow-next-cottage.png") center no-repeat;
    background-size: contain;
    opacity: 1;
}

.btn.size-select.housesigns {
    border: 2px solid #8c4634;
    background-color: #fff;
}

.btn.size-select.housesigns:hover {
    background-color: #8c4634;
    color: #f4d1c2;
}

.btn.size-select.memorials {
    border: 2px solid #73A0C0;
    background-color: #fff;
}

.btn.size-select.memorials:hover {
    background-color: #0c0b0c;
    border: 2px solid #0c0b0c;
    color: #73A0C0;
}

.btn.size-select.roadsigns {
    border: 2px solid #a6a6a6;
    background-color: #fff;
}

.btn.size-select.roadsigns:hover {
    background-color: #585858;
    border: 2px solid #585858;
    color: #a6a6a6;
}

.btn.size-select.novelty {
    border: 2px solid #57467b;
    background-color: #fff;
}

.btn.size-select.novelty:hover {
    background-color: #57467b;
    border: 2px solid #57467b;
    color: #bb9dfa;
}

.btn.size-select.sportsigns {
    border: 2px solid #216869;
    background-color: #fff;
}

.btn.size-select.sportsigns:hover {
    background-color: #216869;
    border: 2px solid #216869;
    color: #5af7f9;
}

.btn.size-select.cottagesigns {
    border: 2px solid #5b7553;
    background-color: #fff;
}

.btn.size-select.cottagesigns:hover {
    background-color: #5b7553;
    border: 2px solid #5b7553;
    color: #c6f7b7;
}


/*.product-teaser.front h2.memorials:before {
    background-color: #73A0C0;
}

.product-teaser.front h2.housesigns:before {
    background-color: #8C4634;
}

.product-teaser.front h2.roadsigns:before {
    background-color: #A6A6A6;
}*/

.size-select > span {
    display: block;
}

.size-select > span:first-child {
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.product-teaser .has-buttons > .btn {
    margin-bottom: 5px;
}

.product-teaser .has-buttons > .btn:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 950px) {
    #home-wrap .product-teaser {
        padding: 20px 0;
    }

    #home-wrap .col-25 .product-teaser {
        padding: 20px 5px;
    }
}

@media only screen and (max-width: 800px) {
    #home-wrap .product-teaser {
        padding: 20px;
    }

    #home-wrap .col-33 {
        width: 50%;
    }

    #home-wrap .col-25 {
        width: 50%;
    }
}

@media only screen and (max-width: 620px) {
    #home-wrap .product-teaser {
        padding: 20px 0;
    }
}

@media only screen and (max-width: 550px) {
    #home-wrap .product-teaser {
        padding: 20px;
    }

    #home-wrap .col-33 {
        width: 100%;
    }
}

@media only screen and (max-width: 400px) {
    #home-wrap .col-25 {
        width: 100%;
    }
}

@media only screen and (max-width: 320px) {
    #home-wrap .product-teaser {
        padding: 20px 0;
    }
}

/* -------------- */

.s-margin-top {
    margin-top: 110px;
    padding-top: 50px;
}

.section-height {
    min-height: 60vh;
}

@media only screen and (min-width: 1921px) {
    .section-height {
        min-height: 70vh;
    }
}

@media only screen and (min-width: 1025px) and (max-height: 800px) {
    .section-height {
        min-height: 50vh;
    }
}

@media only screen and (max-width: 1024px) {
    .s-margin-top {
        margin-top: 0;
        padding-top: 30px;
    }

    .section-height {
        min-height: 60vh;
    }
}

























