:root{
    --primary-color: rgb(20 107 85);
    --secondary-color: rgb(75 99 90);
    --secondary-color-text: rgb(255 255 255);
    --accent1-color: rgb(206 233 221);
    --accent1-color-text: rgb(52 76 67);
    --accent2-color: rgb(64 99 118);
    --text-color: rgb(23 29 26);
    --heading-font: "Roboto", sans-serif;
    --heading-font-weight: 600;
    --body-font: "Roboto Serif", sans-serif;

    --md-sys-color-primary: rgb(20 107 85);
    --md-sys-color-surface-tint: rgb(20 107 85);
    --md-sys-color-on-primary: rgb(255 255 255);
    --md-sys-color-primary-container: rgb(164 242 214);
    --md-sys-color-on-primary-container: rgb(0 81 63);
    --md-sys-color-secondary: rgb(75 99 90);
    --md-sys-color-on-secondary: rgb(255 255 255);
    --md-sys-color-secondary-container: rgb(206 233 220);
    --md-sys-color-on-secondary-container: rgb(52 76 67);
    --md-sys-color-tertiary: rgb(64 99 118);
    --md-sys-color-on-tertiary: rgb(255 255 255);
    --md-sys-color-tertiary-container: rgb(195 232 254);
    --md-sys-color-on-tertiary-container: rgb(39 75 93);
    --md-sys-color-error: rgb(186 26 26);
    --md-sys-color-on-error: rgb(255 255 255);
    --md-sys-color-error-container: rgb(255 218 214);
    --md-sys-color-on-error-container: rgb(147 0 10);
    --md-sys-color-background: rgb(245 251 246);
    --md-sys-color-on-background: rgb(23 29 26);
    --md-sys-color-surface: rgb(245 251 246);
    --md-sys-color-on-surface: rgb(23 29 26);
    --md-sys-color-surface-variant: rgb(219 229 223);
    --md-sys-color-on-surface-variant: rgb(63 73 69);
    --md-sys-color-outline: rgb(112 121 116);
    --md-sys-color-outline-variant: rgb(191 201 195);
    --md-sys-color-shadow: rgb(0 0 0);
    --md-sys-color-scrim: rgb(0 0 0);
    --md-sys-color-inverse-surface: rgb(44 50 47);
    --md-sys-color-inverse-on-surface: rgb(236 242 237);
    --md-sys-color-inverse-primary: rgb(136 214 187);
    --md-sys-color-primary-fixed: rgb(164 242 214);
    --md-sys-color-on-primary-fixed: rgb(0 33 24);
    --md-sys-color-primary-fixed-dim: rgb(136 214 187);
    --md-sys-color-on-primary-fixed-variant: rgb(0 81 63);
    --md-sys-color-secondary-fixed: rgb(206 233 220);
    --md-sys-color-on-secondary-fixed: rgb(8 32 24);
    --md-sys-color-secondary-fixed-dim: rgb(178 204 193);
    --md-sys-color-on-secondary-fixed-variant: rgb(52 76 67);
    --md-sys-color-tertiary-fixed: rgb(195 232 254);
    --md-sys-color-on-tertiary-fixed: rgb(0 30 44);
    --md-sys-color-tertiary-fixed-dim: rgb(168 203 225);
    --md-sys-color-on-tertiary-fixed-variant: rgb(39 75 93);
    --md-sys-color-surface-dim: rgb(213 219 215);
    --md-sys-color-surface-bright: rgb(245 251 246);
    --md-sys-color-surface-container-lowest: rgb(255 255 255);
    --md-sys-color-surface-container-low: rgb(239 245 240);
    --md-sys-color-surface-container: rgb(233 239 235);
    --md-sys-color-surface-container-high: rgb(228 234 229);
    --md-sys-color-surface-container-highest: rgb(222 228 223);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--body-font);
    font-weight: var(--font-weight);
    font-size: 16px;
    color: var(--md-sys-color-on-surface);
}

header, main, footer{
    width: 100vw;
    margin: 0 auto;
}

header {
    display: flex;
    padding: 0.5em 2em 0.5em 2em;
    justify-content: space-between;
    background-color: var(--md-sys-color-inverse-surface)
}

header svg{
    width: 4em;
    height: auto;
    color: var(--md-sys-color-inverse-on-surface)
}

header nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
}

nav ul{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    list-style-type: none;
}

nav ul li a{
    text-decoration: none;
    font-weight: 600;
    color: var(--md-sys-color-inverse-on-surface)
}
nav ul li a:hover{
    text-decoration: underline;
    text-decoration-style: wavy;
    color: var(--md-sys-color-tertiary-container);
}


h1, h2{
    font-family: var(--heading-font);
    font-weight: var(--heading-font-weight);
    color: var(--md-sys-color-primary)
}

h2{
    width: 100%;
    padding: .25em;
    text-align: center;
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
}


nav, p, section, article{
    margin: 1em;
    padding: .5em;
}

footer{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

/*Class Selectors*/

.primary-button{
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    border-radius: 12px;
    border: none;
    font: var(--body-font);
    padding: 0.5em 1em;
}
.primary-button:hover{
    cursor: pointer;
}

.secondary-button{
    background-color: var(--md-sys-color-secondary);
    color: var(--md-sys-color-on-secondary);
    border-radius: 12px;
    border: none;
    font: var(--body-font);
    padding: 0.5em 1em;
}
.primary-button:hover{
    cursor: pointer;
}

.socialmedia a{
    text-decoration: none;
}

.hero{
    position: relative;
}

.hero img{
    display: block;
    width: 100%;
    height: auto;
}

.hero h1{
    position: absolute;
    top: 1em;
    width: 100%;
    padding: .25em;
    text-align: center;
    background-color: var(--md-sys-color-secondary);
    color: var(--md-sys-color-on-secondary);
}

.hero h2{
    position: absolute;
    top: 5em;
    width: 100%;
    padding: .25em;
    font-size: 1em;
    text-align: center;
    background-color: var(--md-sys-color-secondary);
    color: var(--md-sys-color-on-secondary);
}

.hero button{
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.5em;
}

.hero article{
    position: absolute;
    bottom:0;
    width: fit-content;
    padding: .25em;
    background-color: var(--md-sys-color-tertiary);
    color: var(--md-sys-color-on-tertiary);
    text-align: left;
}

.hero article img{
    float: right;
    width: 8em;
    height: auto;
    margin: .25em;
}

.history{
    display: grid;
    grid-template-columns: auto auto auto;
    max-width: inherit;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.history img{
    width: 100%;
    height: auto;
}

.history p{
    margin: 0;
    padding: 1em;
    width: 100%;
}

.adventure
{
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    max-width: inherit;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.adventure figure{
    width: 100%;
    height: auto;
    padding: 1em;
}

.adventure figure img{
    width: 100%;
    height: auto;
}

.adventure figcaption{
    text-align: center;
    font-weight:700;
}

.contact-info{
    width:100%;
    text-align: center;
}

.contact-info p{
    margin: 0;
    padding: .25em;
    font-size: 1.25em;
    font-weight: 700;
}

.map-form{
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 1em;
}

.map iframe{
    width: 100%;
}

.contact-form{
    display: grid;
    width: 100%;
    height: 100%;
    gap: 0;
}

.contact-form .text-field{
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
}

.contact-form .text-field input{
    width:100%;
    height: 3em;
    margin: 0;
    border-radius: 4px;
    padding: 1em;
}

.contact-form .radio{
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
}

.contact-form .radio .radio-options{
    display: grid;
    gap: 1em;
}

.contact-form .text-area{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .25em;
}

.contact-form .text-area textarea{
    width: 100%;
    margin: 0;
    border-radius: 4px;
    padding: 1em;
}

.contact-form .checkbox{
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: .25em;
}

.contact-form button{
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    border-radius: 12px;
    border: none;
    font: var(--body-font);
}

.employees{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-align: center;
    gap: 1em;
    margin: 1em;
}

.employees img{
    width: 100%;
    height: auto;
}

.newsletter{
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 1em;
    margin: 0;
    gap: 3em;
}

.newsletter p{
    margin: 0;
}

.newsletter form{
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    height: 100%;
    width: 100%;
    gap: 1em;
}

.newsletter form .text-field{
    display: flex;
    flex-direction: column;
}

.newsletter form .text-field label{
    color: var(--md-sys-color-tertiary);
    font-weight: 700;
}

.newsletter form .text-field input{
    width:100%;
    height: 3em;
    margin: 0;
    border-radius: 4px;
    padding: 1em;
}

.newsletter form button{
    justify-self: left;
}

.explore{
    width: 100%;
    display:grid;
    grid-template-columns: 1fr 1fr;
}

.explore figure{
    margin: 2em;
}

.explore figure img{
    width: 100%;
    height: auto;
}

.explore figure figcaption{
    text-align: center;
    font-style: italic;
}

.contact p{
    margin: 1em 0;
}

.table-section{
    width: 100%;
}

.trips-table {
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    margin: 1em 0;
    width: 100%;
}

.trips-table thead{
    width: 100%;
}

.trips-table tbody{
    width: 100%;
}

.trips-table tr{
    border: 1px solid var(--md-sys-color-outline);
    width: 100%;
}

.trips-table th{
    background-color: var(--md-sys-color-surface-container);
    color: var(--md-sys-color-secondary);
    text-align: left;
    padding: 1em;
}

.trips-table td{
    text-align: left;
    padding: 0.5em;
}