/* TABLE ON CONTENT
Resets
Variables
Utility classes
*/


/* RESETS */
*,
*::after,
*::before,
*:focus,
*:hover {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

input {
    border-radius: 0;
}

.message,
.form-email,
.form-email-message,
.send_button,
.submit {
    border-radius: 0;
}

ul {
    list-style: none;
}

a {
    color: black;
    text-decoration: none;
}

button {
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

/* VARIABLES */
:root {
    --font-main: 'Inconsolata', monospace;
    --font-sec: 'Cormorant Garamond', serif;

    --font-xs: .65rem;
    --font-s: .75rem;
    --font-xsm: 6825rem;
    --font-sm: .825rem;
    --font-m: .9rem;
    --font-msl: 1rem;
    --font-ml: 1.2rem;
    --font-l: 1.6rem;
    --font-xl: 1.9rem;
    --font-xxl: 2.9rem;
    --font-xxl-big: 3.9rem;

    --clr-bkg: #F6E5DE;
    --clr-accent: #A4705B;
    --clr-logo: #daab26;
    --clr-font: #383737;
    --clr-font-dark-p: #4e4d4d;
    --clr-font-h: rgb(250, 240, 240);
    --clr-font-p: rgb(240, 235, 235);
}

/* UTILITY CLASSES */

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

.container {
    margin: 0 1rem;   
    display: grid;
    gap: 1em;
}

section {
    height: 100vh;
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-sec);
    color: black;
}

p {
    font-family: var(--font-main);
    color: var(--clr-font);
}

img {
    max-width: 100%;
    overflow: hidden;
}

.main_link {
    padding: .1rem .5rem;
    transition: 
        background-color 350ms ease-in-out,
        color 250ms ease-in;
}

.main_link:hover,
.main_link:focus {
    background-color: var(--clr-logo);
    color: var(--clr-bkg);
}

.box {
    background-color: var(--clr-accent);
    max-width: 80vw;
    display: flex;
    padding: 1rem;
    box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, .5);
}

.box_img {
    height: 100%;
    object-fit: cover;
    opacity: .74;
    box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, .5);
}

.box h2 {
    color: var(--clr-font-h);
    padding: .5em;
}

.box p {
    color: var(--clr-font-p);
}

.small_box {
    position: absolute;
    bottom: 1em;
    background-color: var(--clr-bkg);
    padding: .4em;
    margin: 0 .9em;
    font-size: var(--font-s);
    opacity: .85;
    transition: transform ease-out 300ms;
}

.small_box h2 {
    color: var(--clr-font);
}

.small_box p {
    color: var(--clr-font-dark-p);
    margin-bottom: 1rem;
}

.small_box:hover,
.small_box:focus {
    transform: translateY(-2rem) scale(105%);
}

.link_more {
    color: var(--clr-logo);
    padding: .3em;
    text-align: center;
    margin-bottom: 1rem;
    background-color: var(--clr-font);
    transition: ease-in-out 400ms;
}

.link_more:hover,
.link_more:focus {
    background-color: var(--clr-bkg);
    color: var(--clr-font-dark);
    border: 1px solid var(--clr-font);
}



/* HOME */
#home {
    background-image: url(pics/wood.jpg);
    background-color: var(--clr-bkg);
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: overlay;
}

    /* Menu */
.home_menu {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.home_menu-list {
    display: none;
    grid-column: 1/2;
    justify-self: start;
    align-self: center;
    gap: .4em;
    font-family: var(--font-main);
}

.home_menu-logo {
    grid-column: 2/3;
    justify-self: center;
    align-self: center;
    max-width: 5.5rem;
    padding: .4em 0;
}

.home_menu-socials {
    grid-column: 3/4;
    justify-self: end;
    align-self: center;
    display: flex;
    gap: .65em;
    align-content: center;
    justify-items: center;
}

.social_link {
    transition: ease-in-out 250ms;
    transform: scale(105%);
}

.social_link:hover,
.social_link:focus {
    color: var(--clr-logo);
}

.language_link {
    margin-right: .5rem;
}

    /* Mobile Menu */

.home_menu-list_mobile {
    position: fixed;
    background: hsl(44 71% 50% / 0.9);
    color: var(--clr-bkg);
    width: 55%;
    height: 40%;
    z-index: 100;
    border-radius: 0 0 10px 0;
    transform: translateX(-100%);
    transition: transform 350ms;
}
.home_menu-list_mobile[data-visible="true"] {
    transform: translateX(0%);
}

.home_menu-list_mobile .main_link_mobile:first-child {
    margin-top: 3rem;
}

@supports (backdrop-filter: blur(1rem)) {
    .home_menu-list_mobile {
        color: rgb(54, 51, 51);
        background: hsl(44 71% 50% / 0.4);
        backdrop-filter: blur(1rem);
    }
}

.home_menu-list_mobile_toggle {
    padding: 1.2rem 0 1.5rem 0;
    display: flex;
    z-index: 150;
    font-family: var(--font-main);
    font-size: var(--font-ml);
    color: var(--clr-font);
}

.main_link_mobile {
    padding: 1rem 0 0 1rem;
    font-family: var(--font-main);
    color: var(--clr-bkg);
}



    /* Body */
.home_body {
    margin-top: calc(1em + 5vh);
    margin-bottom: calc(1em + 5vh);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .2rem;
    justify-content: space-between;
}

.home_body-gallery {
    grid-column: 1/2;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.main_header {
    font-size: var(--font-l);
    line-height: .9;
    margin-bottom: .4em;
}

.main_paragraph {
    font-size: var(--font-m);
    line-height: 1.3em;
}

.home_body-text {
    grid-column: 2/4;
    padding: 0 1em;
}

.wrapper {
    display: flex;
    gap: .5em;
}

.home_body-book {
    color: white;
    background-color: var(--clr-accent);
    margin-top: 1em;
    padding: .5em 1em;
    font-size: var(--font-s);
    transition: ease-in-out 400ms;
}

.home_body-book:hover,
.home_body-book:focus {
    background-color: var(--clr-logo);
    color: var(--clr-font);
}

.home_body-book-vr {
    color: var(--clr-font-dark-p);
    border: 1px solid var(--clr-logo);
    margin-top: 1em;
    padding: .5em 1em;
    font-size: var(--font-s);
    transition: ease-in-out 400ms;
}

.home_body-book-vr:hover,
.home_body-book-vr:focus {
    background-color: var(--clr-logo);
    opacity: .5;
}

.home_gallery {
    display: flex;
    gap: .7em;
    height: calc(1rem + 17vh);
}

.home_gallery_img {
    width: 100%;
    object-fit: cover;
    box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, .5);
}


/* WALKING TOURS */

#walking {
    display: flex;
    flex-direction: column;
    gap: .5em;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: var(--clr-logo);

}

.home_link {
    display: flex;
    position: absolute;
    top: 1rem;
    right: 1rem;
    transition: ease-in-out 250ms;
}

.home_link:hover,
.home_link:focus {
    opacity: .56;
}

.walking_open,
.walking_privat,
.virtual_book {
    max-width: 68vw;
    display: flex;
    position: relative;
    height: min(55rem, 40vh);
}

#open_subtitle {
    font-weight: 600;
    margin-top: .4em;
    margin-bottom: .4em;
}


/* VIRTUAL TOURS */

#virtual {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: var(--clr-bkg);
    background-image: url(pics/wood.jpg);
    background-position: cover;
    background-repeat: no-repeat;
    background-blend-mode: overlay;
}

.virtual_book {
    height: min(65rem, 55vh);
    display: flex;
    justify-content: center;
}

.virtual_book .small_box {
    min-width: 80%;
}


/* CONTACT */

#contact {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: var(--clr-logo);
}

.with_footer {
    display: flex;
    flex-direction: column;
    position: relative;
}

.contact_box {
    display: flex;
    flex-direction: column;
    min-width: 80vw;
    min-height: 80vh;
}

.contact_box h2 {
    padding-left: 0;
}

form > * {
    color: var(--clr-font-h);
}

#name,
#email,
#subject {
    border: none;
    margin-bottom: .8rem;
    margin-top: .5rem;
}

#message {
    max-width: 85%;
    min-height: 10rem;
    border: none;
    margin-top: .5rem;
    margin-bottom: .8rem;
}

.message {
    padding: .3rem;
}

.form-email_button {
    display: flex;
    gap: 1rem;
}

.send_button {
    background: var(--clr-font-h);
    border: none;
    padding: .2rem 1rem;
    font-family: var(--font-main);
    font-size: var(--font-msl);
    cursor: pointer;
    transition: 
        background 450ms ease-in-out,
        color 250ms ease-in;
        color: var(--clr-font);
}

.send_button:hover,
.send_button:focus {
    background: var(--clr-logo);
    color: var(--clr-bkg);
}

footer {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.footer {
    padding-top: .65em;
    padding-bottom: .65em;
    background-color: var(--clr-bkg);
    text-align: center;
    color: var(--clr-bkg);
    opacity: .55;
}

.footer p, 
.footer a {
    color: var(--clr-font);
    font-size: var(--font-xs);
}

/* COMING SOON */

.logo_soon {
    max-height: 35%;
}

.coming {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
    justify-content: center;
}


/* MEDIA QUERIES */

@media screen and (min-width: 360px) {
    .home_gallery {
        margin-top: 6rem;
        height: calc(2rem + 17vh);
    }

    #message {
        max-width: 100%;
    }

    .message {
        width: 100%;
    }
}

@media screen and (min-width: 750px) {
    .home_menu-list_mobile_toggle {
        font-size: var(--font-l);
    }

    .home_menu-list_mobile {
        height: 40%;
        width: 35%;
    }

    .home_menu-list_mobile .main_link_mobile:first-child {
        margin-top: 5rem
    }

    .main_link_mobile {
        font-size: var(--font-ml);
    }

    .home_menu-logo {
        max-width: 6.9rem;
        padding: .5em 0;
        margin: 0 auto;
    }
    
    .home_menu-socials {
        gap: 1.1em;
    }

    .social_link {
        font-size: var(--font-ml);
    }

    .language_link {
        margin-right: 1rem;     
    }

    .main_header {
        font-size: var(--font-xxl);
    }
    
    .main_paragraph {
        font-size: var(--font-l);
    }

    .wrapper {
        align-items: center;
    }

    .home_body-book {
        font-size: var(--font-l);
    }
    .home_body-book-vr {
        font-size: var(--font-ml);
    }

    .home_body-book-vr {
        border: 2px solid var(--clr-logo);
    }

    .home_gallery {
        margin-top: 10rem;
        height: calc(5rem + 20vh);
    }

    .home_link {
        font-size: var(--font-l);
    }

    .virtual_book {
        max-width: 55vw;
        height: min(55rem, 45vh);
    }
}

@media screen and (min-height: 810px) {

    .home_body {
        margin-top: calc(3em + 5vh);
    }

    .home_gallery {
        margin-top: 8rem;
    }

    .home_link {
        font-size: var(--font-l);
    }

    .small_box h2 {
        font-size: var(--font-l);
    }

    .footer p, 
    .footer a {
    font-size: var(--font-m);
    }
}

@media screen and (min-width: 1024px) {
    .main_link_mobile {
        padding-left: 2rem;
        margin-top: 1rem;
    }

    .home_menu-list_mobile {
        height: 30%;
        width: 30%;
    }

    .home_menu {
        padding: 0 1rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .home_menu-logo {
        max-width: 7.5rem;
        padding: .6em 0;
        margin: 0 auto;
    }
    
    .home_menu-socials {
        gap: 0.9em;
        margin-left: auto;
    }

    .social_link {
        font-size: var(--font-ml);
    }

    .small_container {
        padding: 1rem 1rem 0;
    }

    .home_body-gallery {
        width: calc(1rem + 25vw);
    }

    .main_header {
        font-size: var(--font-xxl-big);
    }
    
    .main_paragraph {
        font-size: var(--font-xl);
    }

    .wrapper {
        align-items: center;
    }

    .home_body-book {
        font-size: var(--font-xl);
    }
    .home_body-book-vr {
        font-size: var(--font-l);
    }

    .home_body-book-vr {
        border: 3px solid var(--clr-logo);
    }

    .home_gallery {
        margin-top: 15rem;
    }

    #walking {
        gap: 2rem;
    }

    .walking_open,
    .walking_privat, 
    .virtual_book {
        position: relative;
        display: flex;
        justify-content: center;
    }

    .walking_open,
    .walking_privat {
        width: 55vw;
        height: min(45rem, 35vh);
    }

    .virtual_book {
        max-width: 65vw;
        height: min(55rem, 55vh);
    }

    .small_box h2 {
        font-size: var(--font-l);
    }

    .small_box  {
        font-size: var(--font-m);
        height: calc(10em + 7vh);
        max-width: 50vw;
        max-height: 35%;
    }

    .box_img {
        width: 100%;
    }

    .link_more {
        position: absolute;
        bottom: .2em;
    }

    .virtual_book .small_box {
        height: calc(3em + 11vh)
    }

    .contact_box {
        min-width: 60vw;
        height: min(55rem, 40vh);
        display: grid;
        justify-content: center;
    }

    .contact_box h2 {
        margin-bottom: 1rem;
    }

    .form-email {
        min-width: 45vw;
        margin-top: .5rem;
    }

    .name,
    .email,
    .subject {
        width: min(15rem + 2vw);
        height: min(1rem + 1vh);
    }

    .form-email-message {
        width: 100%;
    }

    .message {
        height: min(1rem + 5vh);
    }
}

@media screen and (min-width: 1222px) {

    .home_menu-list {
        display: flex;
        gap: 1.2em;
        position: relative;
    }

    .home_menu-list_mobile_toggle {
        display: none;
    }

    .home_menu-list_mobile {
        display: none;
    }

    .home_menu-logo {
        max-width: 7.5rem;
        padding: .6em 0;
        margin: 0 auto;
    }
    
    .home_menu-socials {
        gap: 1.1em;
        margin-left: auto;
    }

    .social_link {
        font-size: var(--font-ml);
    }

    .small_container {
        margin: 0 5rem;
        display: grid;
        grid-template-rows: repeat(2, 19rem);
    }

    .home_body {
        margin-top: 0;
        margin-bottom: 0;
        grid-row: 1/2;
    }
    
    .home_body-gallery {
        width: calc(5em + 10vw);
        grid-column: 1/2;
        grid-row: 1/2;
    }

    .home_body-text {
        grid-column: 2/4;
        grid-row: 1/2;
    }

    .main_header {
        font-size: var(--font-xxl);
    }

    .main_paragraph {
        font-size: var(--font-l);
    }

    .home_body-book {
        font-size: var(--font-l);
    }

    .home_body-book-vr {
        font-size: var(--font-ml);
    }

    .home_gallery {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 0;
        grid-row: 2/3;
        max-height: 25rem;
    }

    .home_gallery_img {
        overflow: hidden;
        max-height: calc(3rem + 25vh);
    }

    .home_gallery_img:first-child {
        grid-column: 2/3;
        grid-row: 1/2;
    }

    .home_gallery_img:nth-child(2) {
        grid-column: 3/4;
        grid-row: 1/2;
    }

    .small_box h2 {
        font-size: var(--font-xl);
    }

    .small_box  {
        max-height: 45%;
    }

    .small_box p {
        font-size: var(--font-m);
    }

    #walking {
        display: flex;
        flex-direction: row;
        gap: 1.5rem;
    }

    .walking_open,
    .walking_privat {
        max-width: 35vw;
        min-height: min(65rem, 65vh);
    }

    .small_box {
        height: 95vh;
    }

    .virtual_book .small_box {
        height: calc(5em + 9.5vh)
    }

    .contact_box {
        height: calc(10rem + 55vh);
    }

    .footer p, 
    .footer a {
    font-size: var(--font-ml);
    }
}

@media screen and (min-width: 1366px) {
    .small_container {
        height: 100vh;
        margin: 0 10rem;
    }

    .home_menu-logo {
        max-width: 9.5rem;
    }

    .home_gallery {
        align-content: start;
    }

    .small_box p {
        font-size: var(--font-msl);
    }
    
}

@media screen and (min-width: 1666px) {
    .home_menu-logo {
        max-width: 11.5rem;
    }

    .home_body {
        margin-top: 4rem;
    }

    .home_gallery {
        margin-top: 6rem;
    }

    .walking_open,
    .walking_privat {
        max-width: 35vw;
        height: min(55rem, 55vh);
    }

    .small_box {
        max-height: 20vh;
    }

    .contact_box {
        height: calc(10rem + 45vh);
    }
}