html {
    box-sizing: border-box;
  }
  *, *:before, *:after {
    box-sizing: inherit;
  }

body {
    font-family: din-condensed, sans-serif;
    font-weight: 400;
    font-style: normal;
    background-color: #222222;
    color: white;
    margin: 0;
}

h1, .is-h1 {
    font-family: gin,serif;
    font-weight: 400;
    font-size: 5rem;
    margin: 30px auto;
    color: white;
    text-align: center;
}

h2,.is-h2 {
    font-family: gin,serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.5rem;
    margin: 30px auto;
    color: white;
}

a {
    color: #ED9750;
}

a:hover {
  opacity: .75;  
}

ul {
    padding-left: 0;
}

li {
    list-style-type: none;
}

p {
    color: #C4C4C4;
}
main {
    width: 80%;
    margin:auto;
}

.mobileheader {
    display: none;
    justify-content: space-between;
    background: #222;
    height: 65px;
    padding: 20px 15px;
    position: fixed;
    width: 100vw;
    z-index: 10;
}

.homepage-nav a {
    position: relative;
}
img.bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 75vh;
    object-fit: cover;
    z-index: -1;
}

/* EDIT ME */
.homepage-nav2 a {
    position: relative;
}
img.fbg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 20vh;
    object-fit: cover;
    z-index: -1;
    transition: All .5s
}

.homepage-nav2:hover img.fbg {
    width: 110vw;
    left: -5vw;
}

a.mobilelogo {
    width: 150px;
}

a.mobilelogo img {
    width: 100%;
}

img.closemenu {
    width: 25px;
    height: 25px;
    display: none;
}

img.openmenu {
    display: none;
    width: 22px;
    height: 22px;
}

.mobilenav {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: #222222;
    z-index: 10;
    display: none;
    flex-direction: column;
    padding-top: 50px;
    align-items: center;
    top: 65px;
}

.mobilenav a {
    text-decoration: none;
    text-transform: uppercase;
    font-size: 2rem;
    padding-bottom: 1.5rem;
    color: white;
}

a.cta {
    color: white;
    text-decoration: none;
    background: #ED9750;
    padding: 10px 20px;
    border-radius: 30px;
    display: block;
    width: fit-content;
    margin-bottom: 20px;
}

a.cta:hover {
    background: #b1b1b1;
    color: #222222;
}


/* ---- Start Home Page ----*/

.home nav {
    width: 100%;
    display: flex;
    height: 170px;
    justify-content: center;
    position: absolute;
    z-index: 9;
    background-color: unset;
}

.home p, .locations p {
    color: white;
}

a.main-logo {
    width: 225px;
    background-image: url(/images/mt-logo.png);
    background-size: contain;
    padding-top: 0;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    transition: none;
    z-index: 9;
    height: 170px;
    display: block;
    text-indent: 101%;
    white-space: nowrap;
    overflow: hidden;
}

/* ----.viewport {
    height: 100vh;
}---- */

.viewport a {
    text-decoration: none;
}

.viewport a.festval {
    text-align: center;
    height: 20vh;
}

.homepage-nav {
    display: flex;
    height: 75vh;
    justify-content: space-around;
}

.homepage-nav a {
    padding-top: 33vh;
    width: 16.7%;
    text-align: center;
    transition: all .5s;
    opacity: .75;
    background-size: cover;
    background-position: center;
}
.homepage-nav h2 {
    text-align:center;
}

.homepage-nav a:hover {
    width: 30%;
    opacity: 1;
}

/* .homepage-nav a.locations {
    background-image: url(/images/Locations-bkg.jpg);
}

.homepage-nav a.passport {
    background-image: url(/images/Passport-bkg.jpg);
}

.homepage-nav a.map {
    background-image: url(/images/Map-bkg.jpg);
}

.homepage-nav a.tours {
    background-image: url(/images/Tours-bkg.jpg);
}

.homepage-nav a.blog {
    background-image: url(/images/Blogs-bkg.jpg);
}

.homepage-nav a.events {
    background-image: url(/images/Events_bkg.jpg);
}

.homepage-nav a.blog {
    background-image: url(/images/Blogs-bkg.jpg);
} */

.homepage-nav p {
    padding: 0 40px;
}

.homepage-nav2 {
    height: 25vh;
    overflow: hidden;
}

.viewport a.festval {
    /* background-image: url(/images/Festival_bkg.jpg);
    background-size: 100vw;
    background-position: center; */
    padding-top: 6vh;
    text-align: center;
    display: block;
    opacity: .75;
    transition: All .5s;
}

.viewport a.festval:hover {
    opacity: 1;
    /* background-size: 110vw; */
}

.homepage-nav span {
    display: none;
    color: white;
}

.homepage-nav > a:hover > span {
    display: block;
}

/* ---- End Home Page ----*/



/* ---- Start Inside Page ----*/

nav {
    width: 100%;
    display: flex;
    height: 170px;
    justify-content: center;
    position: fixed;
    z-index: 9;
    background-color: #222222f3;
}

nav a {
    color: white;
    text-decoration: none;
    padding-top: 88px;
    font-size: 24px;
    text-transform: uppercase;
    width: 115px;
    text-align: center;
    height: 25px;
    transition: all .5s;
}

nav a:hover {
    color: #ED9750;
    cursor: pointer;
}

nav.scroll {
    height: 100px;
}

nav.scroll a {
    padding-top: 45px;
}

nav.scroll a.main-logo {
    background-image: url(/images/mt-logo-small.png);
    width: 225px;
    height: 27px;
    margin-top: 28px;
}

.wrapper {
    padding-top: 200px;
}

/* ---- End Inside Page ----*/

/* ---- Start Locations Page ---- */

.locations-wrapper {
    display: flex;
    justify-content: space-between;
    text-align: center;
}

.locations-wrapper a {
    color: white;
    text-decoration: none;
    width: 25%;
    height: 415px;
    padding-top: 150px;
    opacity: .75;
    transition: all .5s;
    background-size: cover;
    background-position: center;
}

.locations-wrapper a:hover {
    width: 30%;
    opacity: 1;
}

.locations-wrapper a.beer {
    background-image: url(/images/Beer_bkg.jpg);
}

.locations-wrapper a.wine {
    background-image: url(/images/Wine_bkg.jpg);
}

.locations-wrapper a.spirits {
    background-image: url(/images/Spirits_bkg.jpg);
}

.locations-wrapper a.cider {
    background-image: url(/images/Cider_bkg.jpg);
}

.locations-wrapper span {
    display: none;
    color: white;
}

.locations-wrapper > a:hover > span {
    display: block;
}

/* ---- End Loactions Page ---- */


/* ---- Tours Page ---- */

.tours-wrapper {
    display: flex;
    justify-content: space-between;
}

.tours-wrapper > div {
    width: 24%;
}

.tours-wrapper img {
    width: 100%;
    height: auto;
}

.tours-wrapper .info {
    width: 64%;
    margin: auto;
}

.tours-wrapper .info h2 {
    color: #ED9750;
}

/*.grape-tour .info {
    float: right;
}*/

/* ---- End Tours Page ---- */


/* ---- Start Passport Page ---- */

.video_container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}

.video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

.passport .wrapper, .app .wrapper  {
    overflow: hidden;
}

.inner-wrap {
    max-width: 1200px;
    margin: auto;
}

.flex {
    display: flex;
    justify-content: space-between;
}

.flex > div {
    width: 48%;
}

.flex h3 {
    color: #ED9750;
}

.flex.grandprize {
    align-items: center;
}

.numbered-list li {
    margin-bottom: .5em;
    list-style: decimal;
    color: #C4C4C4;
}

.three-bucket {
    display: flex;
    justify-content: space-between;
    text-align: center;
}

.three-bucket > div {
    width: 30%;
}

.three-bucket img {
    width: 100%;
    padding-bottom: 20px;
}

.three-bucket h3 {
    font-size: 2rem;
    margin: 0;
    text-transform: uppercase;
}

.three-bucket h3 span {
    color: #ED9750;
}

.bonus {
    background-image: linear-gradient(to right,rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(0, 0, 1, 1), rgba(0, 0, 1, 1)), url(/images/bonus-reward-2023b.jpg);
    background-size: cover;
    background-position: center;
    height: 500px;
    padding-left: 53%;
    padding-top: 8%;
    padding-right: 20%;
    margin: 50px 0px;
}

.bonus h2, .bonus h3 {
    color: #ED9750;
    text-align: left;
    margin: 0;
}

/* ---- End Passport Page ---- */

/* ---- Start Festival Page ---- */

.festival .flex > div {
    width: 48%;
}

.festival .flex img {
    width: 100%;
}

.text-wrapper {
    padding: 25px 40px;
    max-width: 650px;
}

.text-wrapper.left {
    text-align: right;
    float: right;
}

.festival-buy {
    background-image: url(/images/festival-fullwidth.jpg);
    background-size: cover;
    background-position: center;
    height: 525px;
    padding-top: 4%;
    margin: 50px 0px;
}

.festival-buy-wrapper {
    max-width: 1200px;
    margin: auto;
}

.festival-buy h1, .festival-buy h3 {
    color: #ED9750;
    text-align: left;
    margin: 0;
    text-transform: uppercase;
}

.festival-buy p {
    width: 50%;
}

.festival span {
    color: #ED9750;
}

details {
    text-align: center;
}

details p {
    margin-bottom: 1rem;
}

details img {
    max-width: 200px;
    max-height: 250px;
}

summary {
    font-size: 1.5REM;
    padding: 10px 20px;
    background: #ed984f;
    max-width: 250px;
    margin: 50px auto;
    border-radius: 50px;
    cursor: pointer;
}

summary:hover {
    background: #b1b1b1;
    color: #222222;
}

.extra {
    display: flex;
    justify-content: center;
    gap: 4rem;
}

.festival-open .flex img, .festival .flex img {
    width: 100%;
}
/* ---- End Festival Page ---- */



/* ---- Start Events Page ---- */

.event-intro {
    display: flex;
    justify-content: space-between;
    margin: 50px 0;
    transition: all .5s;
}

.event-intro:hover, .event.active .event-intro {
    padding: 10px;
    border-radius: 10px;
    background: #8080801a;
    cursor: pointer;
}

.mini_event_date_main_wrap {
    width: 11%;
}

.event-info {
    width: 81%;
}

.event-time {
    width: 6%;
}

.event-info h2 {
    color: #ED9750;
}

.event-intro h2 {
    margin: 5px 0;
}

.event-intro p {
    margin: 0;
    color: white;
}

.event-time {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.event-time h3 {
    margin: 4px 0;
}

.event-contact-info {
    display: flex;
}

.event-contact-info > div {
    padding-right: 40px;
}

.event-description-flex {
    display: flex;
    justify-content: space-between;
}

.event-description-flex div {
    width: 48%;
}

.event-description-flex img {
    width: 100%;
}

.event-event {
    padding: 20px;
    background: #8080801a;
    border-radius: 10px;
    display: none;
}

.event.active .event-event {
    display: block;
}


/* ---- End Events Page ---- */


/* ---- Start Blog Page ---- */

.blog-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 35px 0px;
}

.blog-desc h2 {
    margin: 0;
}

.blog-desc img {
    display: none;
}

.blog-image {
    width: 30%;
    overflow: hidden;
}

.blog-desc {
    width: 65%;
}

.blog-image img {
    width: 100%;
}

/* ---- End Blog Page ---- */


/* ---- Start Makers Page ---- */

.makers {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.maker {
    width: 45%;
    display: flex;
    justify-content: space-between;
    margin: 45px 0px;
}

.maker .makerlogo {
    width: 38%;
    object-fit: contain;
    max-height: 275px;
}

.maker > div {
    width: 55%;
}

/* ---- End Makers Page ---- */


/* ---- Start Footer ----*/

footer {
    padding-top: 40px;
    height: 200px;
    clear: both;
}

.apps {
    text-align: center;
}

.apps img {
    width: 200px;
}

.footer-info {
    display: flex;
    justify-content: space-around;
    text-align: center;
}

.footer-info > div {
    width: 33%;
}

footer a {
    text-transform: uppercase;
}

.footer-middle {
    display: flex;
    justify-content: center;
    gap: 1.7rem;
}

.footer-middle img {
    max-width: 150px;
}

.soc a {
    margin-left: 10px;
}

/* ---- End Footer ----*/

/* ---- Start Error Page ----*/

.error-wrapper {
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: 99;
    background: #ed984f;
}

.inner-error-wrap {
    width: 80%;
    max-width: 617px;
    margin: auto;
    padding-top: 150px;
    text-align: center;
}

.inner-error-wrap a {
    color: white;
}

.inner-error-wrap img {
    width: 100%;
}

.extra.mobile {
    display: none;
}




/* ---- End Error Page ----*/

/* ---- Media Queries ---- */
@media (max-width: 768px) {
    nav, .home nav {
        display: none;
    }

    .mobileheader, .mobilenav.active {
        display: flex;
        transition: all .5s;
    }

    .mobileheader.scrolling.is-visible {
        top: 0;
    }

    .mobileheader.scrolling.is-hidden {
        top: -65px;
    }

    img.openmenu.active, img.closemenu.active {
        display: block;
    }

    .wrapper {
        padding-top: 50px;
    }

    .viewport {
        height: unset;
        padding-top: 65px;
    }

    .homepage-nav {
        flex-direction: column;
        height: auto;
    }

    .homepage-nav a, .viewport a.festval {
        width: 100%;
        padding-top: 5vh;
        opacity: 1;
        height: 20vh;
    }
    img.bg {
        height: 20vh;
    }

    .homepage-nav a:hover {
        width: 100%;
    }

    .homepage-nav span {
        /*display: block;*/
    }

    .homepage-nav > a:hover > span {
        display: none;
    }

    .homepage-nav span > p, .locations-wrapper > a:hover > span {
        display: none;
    }

    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    .locations-wrapper {
        flex-direction: column;
    }

    .locations-wrapper a {
        padding-top: 11vh;
        opacity: 1;
    }

    .locations-wrapper a {
        width: 100%;
    }

    .locations-wrapper a:hover {
        width: 100%;
        opacity: 0; 
    }

    .tours-wrapper {
        flex-direction: column;
    }

    .tours-wrapper > div {
        width: 100%;
    }

    .tours-wrapper .info {
        width: 80%;
        margin: auto;
        text-align: center;
        padding-bottom: 40px;
    }

    .grape-tour .info {
        float: unset;
    }

    .tours-wrapper a.cta {
        margin: auto;
    }

    .flex {
        flex-direction: column;
    }

    .flex > div {
        width: 100%;
    }

    .inner-wrap {
        width: 80%;
    }

    img.image-float {
        width: 100%;
    }

    .bonus {
        background-image: url(/images/bonus-reward-2023b.jpg);
        padding: 10%;
        margin-bottom: 380px;
        height: 300px;
    }

    .bonus-wrapper {
        margin-top: 285px;
    }

    .three-bucket {
        flex-direction: column;
    }

    .three-bucket > div {
        width: 100%;
        padding-bottom: 40px;
    }

    .flex.grandprize {
        flex-direction: column-reverse;
    }

    .flex.grandprize img {
        width: 124%;
        margin: 0 -12%;
    }

    .makers {
        flex-direction: column;
    }

    .maker {
        width: 100%;
        margin: auto;
        flex-direction: column;
        padding: 40px 0;
    }

    .maker .makerlogo {
        width: 80%;
        margin: auto;
    }

    .maker > div {
        width: 80%;
        margin: auto;
    }

    .maker > div > .cta {
        margin: auto;
        margin-top: 25px;
    }

    body.breweries, body.wineries, body.distilleries, body.cideries, body.events, body.blog, .festival .flex, .text-wrapper.left, .festival-buy h1, .festival-buy h3 {
        text-align: center;
    }

    .event-intro {
        flex-direction: column;
        text-align: center;
        border-radius: 10px;
        padding: 10px 0;
    }

    .event-contact-info {
        flex-direction: column;
    }

    .event-contact-info {
        flex-direction: column;
    }

    .event-contact-info > div {
        padding: 0;
    }

    .event-description-flex {
        flex-direction: column;
    }

    .event-description-flex div {
        width: 100%;
    }

    .mini_event_date_main_wrap, .event-info, .event-time {
        width: unset;
    }

    .blog-item {
        flex-direction: column-reverse;
        margin: 50px 0;
    }

    .blog-image {
        width: 100%;
    }

    .blog-desc {
        width: 100%;
    }

    .blog-desc .cta {
        margin: auto;
    }

    .festival .flex > div {
        width: 100%;
        padding-top: 20px;
    }

    .festival .flex h2 {
        margin-top: 0;
    }

    .festival .text-wrapper {
        padding-top: 0;
    }

    .flex.reverse {
        flex-direction: column-reverse;
    }

    .festival-buy p {
        width: 80%;
        text-align: center;
        margin: auto;
    }

    .festival-buy .cta {
        margin: auto;
        margin-top: 25px;
    }

    .festival-buy-wrapper {
        margin-top: 55px;
    }

    .festival .flex .cta {
        margin: 35px auto;
    }

    .event-time {
        flex-direction: row;
    }

    .event-time h3:nth-child(2) {
        padding-left: 5px;
    }

    .footer-info {
        flex-direction: column;
        padding-bottom: 20px;
    }

    .footer-info > div {
        width: 80%;
        margin: auto;
        padding-top: 30px;
    }

    .extra {
        flex-direction: column;
        gap: 0;
    }

    .extra.mobile {
        display: block;
    }

    .extra.desktop {
        display: none;
    }
}

/* ---- End Media Queries ---- */