:root {
    /* Parg & Padding */
    --body-v-padding: 1%;
    --body-h-padding: 1%;

    /* Layer Position */
    --Zcenter-stage: 13;
    --Zblackout-layer: 12;
    --Zmenu-button: 10;
    --Znav: 9;
    --Zbackground4: -4;
    --Zbackground3: -3;
    --Zbackground2: -2;
    --Zbackground1: -1;

    /*navbar settings*/
    --nav_bar-height: fit-content;
    --nav_bar_logo_h: clamp(20px, 5vw, 40px);
    --menu-button-size: clamp(30px, 5vw, 50px);

    /*footer settings*/
    --credit-logo-size: clamp(35px, 5vw, 60px);
    --social-icon-size: clamp(10px, 2vw, 20px);
    --footer-font-size: clamp(0.75rem, 1vw, 1rem);

    /*event-post page setting*/
    --event-heading-min-width: 300px;
    --event-heading-max-width: 800px;
    --event-logo-width: clamp(100px, 20%, 200px);

    /*generic blog post settings*/
    --blog-post-p-max-width: 900px;
    /*this applies to <p>  width*/
    --blog-post-width: 95%;

    /********* DOOR SIZE***********/
    --door-item-width:clamp(164px, 24.8%, 400px);
    /*Animations*/
    --liear-to-snap: cubic-bezier(0.79, 0.85, 0.11, 1);
    --click-down: cubic-bezier(0, 1.3, 0.44, 1.34);
    --swing-open: cubic-bezier(0, 1.27, 0.58, 1);
    --hinge-transition-duration: 0.4s;


    /* Fonts */
    --title-family: "McLaren", sans-serif;
    --title-font-weight: 400;
    --title-font-style: normal;

    --body-font-size: clamp(0.7rem, 2vw, 1rem);
    --body-family: "Quicksand", sans-serif;
    --body-font-weight: 300;
    --body-font-style: normal;

    --venue-card-number-font-size: clamp(1rem, 5vw, 3rem);
    --venue-card-name-font-size: clamp(1rem, 3vw, 1.5rem);
    --venue-card-address-font-size: clamp(0.5rem, 5vw, 1.5rem);

    --clue-font-size: clamp(0.19rem, 0.75vw, 0.9rem);
    --door-address-font-size: clamp(0.19rem, 0.6vw, 0.8rem);
    /*clamp(0.2rem,100%,0.9rem)*/

    --nav-font-size: clamp(1.25rem, 2vw, 1.5rem);
    --nav-text-transform: uppercase;

    --event-heading-font-size: clamp(1rem, 1.5vw, 1.25rem);
    --event-heading-text-transform: uppercase;
    --event-heading-large-font-size: clamp(1.5rem, 3vw, 2.5rem);
    --holding-title-font-size: clamp(2rem, 5vw, 3rem);
    --holding-body-font-size: clamp(1.25rem, 2vw, 1.5rem);

    --calendar-selector-font-size: clamp(1rem, 10vw, 1.5rem);
    --calendar-selector-p-font-size: clamp(1rem, 10vw, 1.5rem);
    /*Venue page Settings*/
    --vennues-gap: 3%;
    --venue-card-h-padding: 1%;
    --venue-card-v-padding: 2%;
    --venue-card-top-padding: 0.5%;
    --venue-card-bottom-padding: 4%;

    /*Tooltip Settings*/
    --tooltip-h-padding: 10px;
    --tooltip-v-padding: 2.5px;
    --tooltip-font-family: var(--body-family);
    --tooltip-font-size: clamp(0.5rem, 1vw, 0.8rem);
    --tooltip-scale: 0.75;
    --tooltip-offset-x: 0;
    --tooltip-offset-y: 10;
    /*Calendar Selector Settings*/
    --calendar-selector-selector-width: clamp(80px, 10vw, 100px);
    --calendar-selector-description-width: calc(var(--blog-post-p-max-width) - var(--calendar-selector-selector-width))
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    /* Use 100dvh if you want to account for mobile browser address bars */
    margin: 0;
    background-color: var(--backgroundColor);
    color: var(--accentColor);
}

.navbar,
footer {
    flex-shrink: 0;
}

main {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: var(--background-color);
}

h1,
h2,
h3 {
    font-family: var(--title-family);
    font-weight: var(--title-family);
    font-style: var(--title-font-style);
}

p,
a,
ul,
li {
    font-size: var(--body-font-size);
    font-family: var(--body-family);
    font-weight: var(--body-family);
    font-style: var(--body-font-style);
}

a {
    all: unset;
    text-decoration: none;
    text-decoration: underline;
    cursor: pointer;
    font-style: italic;
    transition: all 0.5s;
    transform: translateY(0px);
}

a:hover {
    text-decoration: underline;
}

div.blog-post {
    /* background-color: rgba(255, 192, 203, 0.385); */
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    width: var(--blog-post-width);
    padding: var(--body-h-padding) var(--body-v-padding);
    margin: auto;
    position: relative;

}

div.transition {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100dvh;
    z-index: var(--Zblackout-layer);
    background-color: var(--hole-color);
    opacity: 1;
}

div.transition.active {
    display: block;
    animation-name: transition-fade-in;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

div.calendar-selector {
    display: flex;
    width: var(--calendar-selector-selector-width);
    height: fit-content;
    position: absolute;
    right: calc(var(--body-h-padding) + var(--menu-button-size) + 0.5%);
    top: calc(0.75% + var(--body-v-padding));
    background-color: var(--accentColor);
    color: var(--backgroundColor);
    padding: 0.5% 0.4%;
    border-radius: 10px;
    justify-content: flex-start;
}

div.calendar-selector>.selector {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: var(--calendar-selector-selector-width);
    height: fit-content;
}

div.calendar-selector>.selector>a.cal-btn {
    text-decoration: none;
    font-size: var(--calendar-selector-font-size);
    font-weight: 900;
    transition: transform 0.5s;
    cursor: pointer;

}

div.calendar-selector>.selector>a.cal-btn.disabled {
    cursor: default;

}

/* div.calendar-selector>.selector>a.cal-btn:not(.disabled):hover{
    transform: scale(0.8) translateY(-3px);
} */
div.calendar-selector>.selector>a.cal-btn.disabled {
    opacity: 0.2;
}

div.calendar-selector>.selector>div {
    margin: 0% 5%;
}

div.calendar-selector>.selector>div>h1 {
    margin: 0;
    font-size: var(--calendar-selector-font-size);
}

div.calendar-selector>.description {
    margin-left: 1%;
    flex-grow: 1;
    text-align: left;
}

div.calendar-selector>.description>p {
    margin: 0;
    /* font-size: var(--calendar-selector-p-font-size); */
}

@keyframes transition-fade-in {
    0% {
        display: block;
        opacity: 1;
    }

    95% {
        display: block;
        opacity: 0;

    }

    100% {
        opacity: 0;
        display: none;

    }
}