﻿/*************************
==============================
TABLE OF CONTENTS
==============================
01A. Fonts
02B. General
03C. General Layout
04D. Forms / Buttons
05E. Header
06F. Navigation
	06Fa. Main Nav
	06Fb. Drop Downs
07G. Content
	07Ga. Video
	07Gb. Message
	07Gc. Buckets
08H. Footer
09I. Login Page
10J. Contact Page
11K. Categories / Subpages
*************************/

/************************* 01A. Fonts *************************/
@font-face {
    font-family: 'Againts';
    src: url('../fonts/againts-webfont.woff2') format('woff2'), url('../fonts/againts-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat-bold-webfont.woff2') format('woff2'), url('../fonts/montserrat-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat-light-webfont.woff2') format('woff2'), url('../fonts/montserrat-light-webfont.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

/************************* 02B. General *************************/
body {
    background: #f8f2e4;
    color: #433c34;
    font: 1em/1.5 verdana, sans-serif;
}

p {
    margin: 15px 0;
}

    p:first-of-type {
        margin-top: 0;
    }

    p:last-of-type {
        margin-bottom: 0;
    }

.image img, .icon svg, .logo img, .pimage img {
    display: block; /* Removes space under an image that can mess up some styles */
    margin: auto;
}

a {
    color: #415a61;
}

    a:hover, a:focus {
        color: #433c34;
    }

h1, h2, h3, h4, h5, h6 {
    color: #415a61;
    font: bold 34px/1.2 "Montserrat", verdana, sans-serif;
    margin: 25px 0 15px;
    text-transform: uppercase;
}

    h1:first-of-type, h2:first-of-type, h3:first-of-type, h4:first-of-type, h5:first-of-type, h6:first-of-type {
        margin: 0 0 15px;
    }

h1 {
    color: #433c34;
    font: 80px/1 "Againts", georgia, times, serif;
    letter-spacing: 4px;
    text-align: center;
}

h2 {
    font-size: 44px;
}

h3 {
    color: #7b746b;
    font-size: 38px;
}

h4 {
    font-size: 32px;
}

h5 {
    color: #7b746b;
    font-size: 24px;
}

h6 {
    color: #433c34;
    font-size: 20px;
}

.section-header {
    border-bottom: 1px solid #ccc;
}

/* Skip link for accessibility*/
#skip a {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

    #skip a:focus {
        position: static;
        width: auto;
        height: auto;
    }

hr {
    border-top: 1px solid #cbc6bd;
}

/************************* 03C. General Layout *************************/
.full {
    margin: 0 auto;
    overflow: hidden;
    min-width: 1470px;
    width: 100%;
    z-index: 2;
}

.inner {
    margin: auto;
    padding: 0 30px;
    width: 1070px;
}

.homepage .inner {
    width: 1470px;
}

/************************* 04D. Forms / Buttons *************************/
button.btn, .btn a, a.btn, input[type="submit"], button[type="submit"] {
    background: #433c34;
    color: #faf9f4;
    font: 300 22px "Montserrat", verdana, sans-serif;
    padding: 10px 40px;
    text-transform: uppercase;
}

    button.btn.secondary, .btn.secondary a, a.btn.secondary {
        background: #6c8890;
    }

    button.btn-small, .btn-small a, a.btn-small, input[type="submit"].btn-small, button[type="submit"].btn-small {
        font-size: 16px;
        padding: 8px 20px;
    }

    button:hover.btn, .btn a:hover, a:hover.btn, input[type="submit"]:hover, button[type="submit"]:hover,
    button:focus.btn, .btn a:focus, a:focus.btn, input[type="submit"]:focus, button[type="submit"]:focus {
        background: #415a61;
    }

        button:hover.btn.secondary, .btn.secondary a:hover, a:hover.btn.secondary {
            background: #566d74;
        }

    input[type="submit"][disabled], button[disabled], a[disabled],
    input[type="submit"][disabled]:hover, button[disabled]:hover, a[disabled]:hover {
        background: #433c34;
        color: #faf9f4;
        font: 300 22px "Montserrat", verdana, sans-serif;
        padding: 12px 40px;
    }

input[type="text"][disabled] {
    opacity: .4;
}

/************************* 05E. Header *************************/
header.main {
    color: #f2ebdb;
    width: 100%;
    z-index: 10;
}

.homepage header.main {
    position: absolute;
    top: 0;
}

.interior header.main {
    background: url(../Images/bg-snakeskin-normal.jpg) no-repeat center center / cover;
}

header.main a {
    color: #f2ebdb;
}

    header.main a:hover, header.main a:focus {
        color: #6c8890;
    }

header.main .top-bar {
    background-color: rgba(36,33,32,.95);
    border-bottom: 1px solid #000;
    font-size: 14px;
    padding: 12px 50px;
}

.interior header.main .top-bar {
    background-color: #242120;
}

header.main .top-bar .shop-nav {
    float: right;
}

header.main .top-bar li {
    float: left;
}

header.main .table {
    display: table;
    width: 100%;
}

header.main .bottom-bar {
    display: table-row;
}

    header.main .bottom-bar > * {
        background-color: rgba(36,33,32,.85);
        display: table-cell;
        vertical-align: middle;
    }

    header.main .bottom-bar .logo {
        padding-left: 40px;
        width: 350px;
    }

    header.main .bottom-bar .right {
        background-color: rgba(65,90,97,.85);
        width: 264px;
    }

        header.main .bottom-bar .right > * {
            display: inline-block;
            vertical-align: middle;
        }

        header.main .bottom-bar .right > div:first-child {
            margin-right: -6px;
            padding: 25px 10px 25px 25px;
            width: calc(100% - 125px);
        }

        header.main .bottom-bar .right > div:last-child {
            margin-right: -6px;
            padding: 25px 0;
            text-align: center;
            width: 125px;
        }

        header.main .bottom-bar .right img {
            width: 67px;
            height: 63px;
        }

    header.main .bottom-bar .main-nav {
        width: calc(100% - 654px);
    }

/************************* 06F. Navigation *************************/
#main-nav ul p, .main-nav ul br { /* Clients accidentally insert p or br tags when editing the menus so this hides them */
    display: none;
}

/* 06Fa. Main Nav */
.main-nav {
    font: 300 24px "Montserrat", verdana, sans-serif;
    text-align: center;
    text-transform: uppercase;
}

    .main-nav ul li {
        display: inline-block;
        margin: 0 10px;
    }

        .main-nav ul li a {
            display: block;
            padding: 5px;
            text-decoration: none;
        }

            .main-nav ul li a.active {
                color: #6c8890;
                font-weight: bold;
            }

    .main-nav > ul > li > a::after {
        background-color: #566d74;
        content: "";
        display: block;
        left: 0;
        margin: auto;
        position: absolute;
        right: 0;
        -webkit-transition: width .2s ease-in-out;
        transition: width .2s ease-in-out;
        width: 0px;
        height: 4px;
    }

    .main-nav > ul > li:hover > a::after, .main-nav > ul > li > a.active::after {
        width: 100%;
        -webkit-transition: width .4s ease-in-out;
        transition: width .4s ease-in-out;
    }

    .main-nav ul li:hover a, .main-nav ul li a:focus,
    .shop-nav ul li:hover a, .shop-nav ul li a:focus {
        color: #6c8890;
    }

.shop-nav a {
    display: block;
    padding: 3px;
    text-decoration: none;
}

.shop-nav li:first-child {
    margin-right: 30px;
}

.shop-nav li .fa {
    margin-right: 3px;
}

/* 06Fb. Drop Downs */
.main-nav ul > li > ul, .shop-nav ul > li > ul {
    background-color: rgba(36,33,32,1);
    display: block;
    left: 0;
    font-size: 16px;
    text-transform: none;
    line-height: 1.2;
    margin: -1px 0 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    text-align: left;
    top: auto;
    -webkit-transition: max-height .1s ease-in-out 0s, opacity .1s ease-in-out 0s;
    transition: max-height .1s ease-in-out 0s, opacity .1s ease-in-out 0s;
    width: 250px;
    height: auto !important;
    z-index: 100;
}

.shop-nav ul > li > ul {
    font-size: 12px;
    width: 200px;
}

    .main-nav ul > li > ul li, .shop-nav ul > li > ul li {
        border-bottom: 1px solid #000;
        display: inline-block;
        height: auto !important;
        margin: 0;
        padding: 0;
        position: relative;
        width: 100%;
    }

        .main-nav ul > li > ul li a, .shop-nav ul > li > ul li a {
            color: #faf9f4 !important;
            display: block;
            padding: 15px;
        }

        .main-nav ul > li > ul li:last-child, .shop-nav ul > li > ul li:last-child {
            border-bottom: 0;
        }

        .main-nav ul > li > ul li:hover a, .main-nav ul > li > ul li a:focus,
        .shop-nav ul > li > ul li:hover a, .shop-nav ul > li > ul li a:focus {
            background-color: #566d74;
        }

.main-nav ul > li:hover > ul, .main-nav ul > li > a:focus + ul,
.shop-nav ul > li:hover > ul, .shop-nav ul li > a:focus + ul {
    max-height: 700px;
    opacity: 1;
    pointer-events: visible;
    -webkit-transition: max-height .7s ease-in-out 0s;
    transition: max-height .7s ease-in-out 0s;
}

/************************* 07G. Content *************************/
/*** 07Ga. Video ***/
.video {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
    z-index: 9;
}

/* fix iOS7 bug not displaying 100vh correctly */
/* ipad */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    .video {
        height: 768px;
    }
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
    .video {
        height: 1024px;
    }
}

/* iphone5 */
@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 2) {
    .video {
        height: 320px;
    }
}

@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 2) {
    .video {
        height: 568px;
    }
}

.the-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
}

.no-videoautoplay .the-video {
    background-image: none !important;
}

.no-videoautoplay video {
    display: none !important;
}

.tagline {
    margin: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: top 1s ease-in-out, -webkit-transform 1s ease-in-out;
    transition: top 1s ease-in-out, transform 1s ease-in-out;
    width: 710px;
    z-index: 10;
}

    .tagline.move {
        top: 85%;
        -ms-transform: translateY(-85%);
        -webkit-transform: translateY(-85%);
        transform: translateY(-85%);
    }

.cover {
    background: url(../images/cover.png) no-repeat center center;
    bottom: -40px;
    left: 0;
    position: absolute;
    width: 100%;
    height: 166px;
    z-index: 11;
}

@media (min-width: 1970px) {
    .cover {
        display: none;
    }
}

/*** 07Gb. Message ***/
.message {
    background: #faf9f4;
    margin-top: 40px;
    z-index: 11;
}

@media (min-width: 1970px) {
    .message {
        margin-top: 0;
        padding-top: 70px;
    }
}

.message::after {
    background: url(../images/flourish.svg) center center no-repeat;
    content: "";
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: -30px;
    width: 356px;
    height: 45px;
}

.etc {
    color: #7b746b;
    font-weight: bold;
    font-style: italic;
    margin: 60px auto;
    text-align: center;
}

    .etc img {
        width: 67px;
        height: 62px;
    }

    .etc li {
        display: inline-block;
        vertical-align: middle;
    }

        .etc li:first-child {
            margin-right: 10px;
        }

            .etc li:first-child::after {
                background-color: #7b746b;
                content: "";
                border-radius: 50%;
                display: inline-block;
                margin-left: 10px;
                vertical-align: middle;
                width: 5px;
                height: 5px;
            }

/*** 07Gc. Buckets ***/
.buckets {
    margin-bottom: 100px;
    margin-top: 100px;
}

    .buckets h1 {
        font-size: 84px;
    }

    .buckets .inner > p {
        margin-left: auto;
        margin-right: auto;
        width: 1070px;
    }

    .buckets ul {
        margin-top: 40px;
    }

        .buckets ul li {
            background-image: url(../images/bg-snakeskin.jpg);
            box-shadow: 0 0 10px rgba(67,60,52,.15);
        }

            .buckets ul li .content {
                background-color: rgba(250,249,244,.9);
                left: 60px;
                padding: 30px;
                position: absolute;
                top: 50%;
                -ms-transform: translateY(-50%);
                -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
                width: 415px;
                min-height: 470px;
                z-index: 9;
            }

    .buckets .btn {
        margin-top: 20px;
    }

    .buckets ul li:nth-child(odd) {
        margin-right: 35px;
    }

    .buckets ul li:nth-child(even) {
        margin-left: 35px;
    }

    .buckets ul li:not(:last-of-type) {
        float: left;
        margin-bottom: 70px;
        width: 670px;
        height: 670px;
    }

    .buckets ul li .image {
        float: right;
        width: 350px;
        z-index: 8;
    }

    .buckets ul li:last-of-type {
        clear: both;
        margin-left: auto;
        margin-right: auto;
        width: 1070px;
        height: 476px;
    }

        .buckets ul li:last-of-type .image {
            width: 350px;
        }

        .buckets ul li:last-of-type .content {
            left: 60px;
            width: 770px;
            min-height: 370px;
        }

/*** 07Gd. Interior ***/
.interior .container {
    margin-bottom: 100px;
    margin-top: 70px;
}

.gallery-slider {
    background: #FAF9F4;
    box-shadow: 0 0 10px rgba(67,60,52,.15);
    margin: 70px auto;
}

    .gallery-slider .slideshow-for .arrow {
        background: #6c8890;
        color: #faf9f4;
    }

        .gallery-slider .slideshow-for .arrow:hover {
            background: #415a61;
        }

/************************* 08H. Footer *************************/
footer.main {
    background: #211f20 url(../images/bg-snakeskin-darker.jpg) no-repeat center center / cover;
    color: #cbc6bd;
    text-align: left;
    width: 100%;
    min-width: 1470px;
    z-index: 3;
}

    footer.main a {
        color: #cbc6bd;
    }

        footer.main a:hover, footer.main a:focus {
            color: #6c8890;
        }

    footer.main nav a {
        text-decoration: none;
    }

    footer.main nav li {
        display: inline-block;
        margin: 0 20px 0 0;
    }

    footer.main .block {
        float: left;
    }

    footer.main .top-bar {
        padding: 40px 0;
    }

        footer.main .top-bar .block {
            width: calc(100% / 3);
        }

            footer.main .top-bar .block:nth-of-type(2) {
                font-size: 20px;
                font-style: italic;
                text-align: center;
            }

                footer.main .top-bar .block:nth-of-type(2) img {
                    opacity: .65;
                    width: 95px;
                    height: 89px;
                }

            footer.main .top-bar .block:nth-of-type(3) {
                margin-right: -1px;
                text-align: right;
            }

    footer.main .bottom-bar {
        background: rgba(36,33,32,.6);
        font-size: 14px;
        padding: 20px 0;
    }

        footer.main .bottom-bar .block {
            width: 50%;
        }

            footer.main .bottom-bar .block:last-of-type {
                text-align: right;
            }

/************************* 09I. Login Page *************************/
.login-form, .login-create-link {
    float: left;
    margin-bottom: 0;
    width: 350px;
}

.login-create-link {
    padding-left: 50px;
}

    .login-create-link a {
        text-decoration: none;
    }

/*********************** 10J. Contact Page ***********************/
.contact-form, .contact-content {
    float: left;
    width: 45%;
}

.contact-form {
    padding-left: 30px;
    width: 55%;
}

/*********************** 11K. Categories / Subpages ***********************/
.categories {
    margin-top: 30px;
    text-align: center;
}

    .categories li {
        background: #faf9f4;
        box-shadow: 0 0 10px rgba(67,60,52,.15);
        float: left;
        margin: 0 15px 30px;
        padding: 20px;
        width: calc(100% / 4 - 24px);
    }

    .categories .btn a {
        font-size: 16px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .categories li .image {
        margin-bottom: 20px;
    }

    .categories li:nth-of-type(4n+1) {
        clear: both;
        margin-left: 0;
    }

    .categories li:nth-of-type(4n+4) {
        margin-right: 0;
    }
