/*
** CONTENTS BELOW
** MOBILE FIRST STRUCTURE
** COLORS
*/

*,
*::before,
*::after  {
    margin: 0;
    padding: 0;
    box-sizing: inherit;
}

body {
    box-sizing: border-box;
}

html, body {
    height: auto;
    min-height: 100vh;
}

#bd {
    overflow-x: hidden;
}

.admin-bar #offcanvas {
    padding-top: 46px;
}

#bd > *,
#wrap-body > * {
    flex-shrink: 0;
}

/* MOBILE FIRST STRUCTURE */
#wrap-body {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    transition: 0.3s margin ease-in-out;
}

#offcanvas {
    position: fixed;
    top: 0;
    left: -300px;
    float: left;
    width: 300px;
    height: 100vh;
    background-color: #2c3e50;
    color: #ecf0f1;
    z-index: 100;
    transition: 0.3s all ease-in-out;
}

#offcanvas.open + #wrap-body {
    margin-left: 300px;
}

#offcanvas.open {
    left: 0;
}

#offcanvas-nav ul {
    margin-top: 20px;
}

#offcanvas-nav ul > li {
    padding: 10px 20px;
    transition: 0.3s all ease-in-out;
}

#offcanvas-nav ul > li:hover,
#offcanvas-nav ul > li.active {
    background-color: #34495e;
}

#offcanvas-nav a {
    color: #ecf0f1;
}

#logo {
    text-align: center;
}

#logo img {
    max-width: 100%;
    height: auto;
}

.navbar-toggler {
    position: relative;
}

.navbar-toggler::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: calc(50% - 3px / 2);
    left: calc(50% - 60% /2);
    width: 60%;
    height: 3px;
    background-color: #333;
    transition: 0.3s opacity ease-in-out;
}

.navbar-toggler-icon::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 20%;
    left: calc(50% - 60% /2);
    width: 60%;
    height: 3px;
    background-color: #333;
    transform-origin: center;
    transition: 0.3s transform ease-in-out;
}

.navbar-toggler-icon::after {
    content: '';
    display: inline-block;
    position: absolute;
    left: calc(50% - 60% /2);
    bottom: 20%;
    width: 60%;
    height: 3px;
    background-color: #333;
    transform-origin: center;
    transition: 0.3s transform ease-in-out;
}

#offcanvas.open + #wrap-body .navbar-toggler-icon::before {
    transform: rotate(45deg) translate(18%, 0.5rem);
}

#offcanvas.open + #wrap-body .navbar-toggler-icon::after {
    transform: rotate(-45deg) translate(18%, -0.5rem);
}

#offcanvas.open + #wrap-body .navbar-toggler::before {
    opacity: 0;
}

.hero_image {
    width: 100%;
    height: auto;
    max-width: 100vw;
    max-height: calc(100vw / 2.95);
}

.post_thumbnail {
    position: relative;
    text-align: center;
}

/* WOOCOMMERCE */
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}


/* COLORS */


/* MEDIA QUERIES */
@media (min-width: 1600px) {
    .container {
        max-width: 1400px;
    }
}

@media (min-width: 768px) {
    .admin-bar #offcanvas {
        padding-top: 32px;
    }

    .admin-bar #navigation.sticky-top {
        top: 32px;
    }

    .header-column-1 #logo {
        text-align: left;
    }

    .header-columns.row > div:not(:only-child):last-child #logo {
        text-align: right;
    }

    .woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1,
    .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
        -ms-flex: 0 0 48%;
        flex: 0 0 48%;
        max-width: 48%;
    }
}

@media (max-width: 767px) {
    #navigation ul.navbar-nav.offcanvas {
        display: none;
    }

    #content {
        order: -1;
    }
}

@media (max-width: 767px) and (min-width: 601px) {
    .admin-bar #navigation.sticky-top {
        top: 46px;
    }
}

@media (max-width: 480px) {
    .has-logo {
        order: -1;
    }
}
