@import url('https://fonts.googleapis.com/css2?family=Fugaz+One&family=Nunito&display=swap');

/* || RESET */
*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

input, 
button, 
textarea {
    font: inherit;
}

/* || VARIABLES */

:root {
    --FF: "Nunito", sans-serif;
    --FF-HEADINGS: "Fugaz One", cursive, font-family ;
    --FS: clamp(1rem, 2.2vh, 1.5rem);

    /* COLORS */
    --BGCOLOR-FADE: rgb(252, 220, 160);
    --BGCOLOR: rgb(8, 54, 38);
    --BGIMAGE: linear-gradient(to bottom, var(--BGCOLOR), var(--BGCOLOR-FADE));
    --BODY-BGCOLOR: #333;
    --BORDER-COLOR: #0e0d0d;
    --FONT-COLOR: whitesmoke;
    --HEADER-BGCOLOR: #000;
    --HEADER-COLOR: rgb(13, 86, 61);
    --HERO-BGCOLOR: rgba(12, 42, 12, 0.732);
    --HERO-COLOR: #c46a1c;
    --HIGHLIGHT-COLOR: rgb(51,178,51);
    --LINK-ACTIVE: orange;
    --LINK-COLOR: rgb(57, 145, 71);
    --LINK-HOVER: rgb(147, 134, 78); /*hsla(0,0%,0%,0.6)*/
    --NAV-BGCOLOR: #FFF;
    --primary-light-hsl: 200, 100%, 91%;
    --primary-hsl: rgb(8, 54, 38);
    --primary-dark-hsl: 200, 100%, 6%;
    --primary-dark-hsl: rgb(6, 42, 29);
    --success-hsl: 100, 60%, 50%;
    --error-hsl: 0, 60%, 50%;

    /* BORDERS */
    --BORDERS: 1px solid var(--BORDER-COLOR);
    --BORDER-RADIUS: 15px;

    /* STANDARD PADDING */
    --PADDING-TOP_BOT: 0.25em;
    --PADDING-SIDE: 2.5%;

    /* STANDARD MARGIN */
    --MARGIN: clamp(1em, 2.5vh, 1.5em);
}

@media (prefers-color-scheme: dark) {
    :root {
        --BGCOLOR-FADE: gray;
        --BGCOLOR: rgb(8, 54, 38);
        --BODY-BGCOLOR: #333;
        --BORDER-COLOR: whitesmoke;
        --FONT-COLOR: whitesmoke;
        --HEADER-COLOR: rgb(17, 97, 69);
        --HERO-COLOR: #c46a1c;
        --HIGHLIGHT-COLOR: rgb(15, 131, 42);
        --LINK-ACTIVE: rgb(252, 200, 103);
        --LINK-COLOR: rgb(57, 145, 71);
        --LINK-HOVER: rgb(168, 138, 82);
        --NAV-BGCOLOR: rgb(20, 20, 20);
        --primary-light-hsl: 200, 100%, 91%;
        --primary-hsl: 200, 100%, 50%;
        --primary-dark-hsl: 200, 100%, 6%;
        --success-hsl: 100, 60%, 50%;
        --error-hsl: 0, 60%, 50%;
    }
}
/* || UTILITY CLASSES */

.offscreen {
    position: absolute;
    left: -10000px;
}

.nowrap {
    white-space: nowrap;
}

.center {
    text-align: center;
}

/* || GENERAL STYLES */

html {
    scroll-behavior: smooth;
    font-size: var(--FS);
    font-family: var(--FF);
    background-color: var(--BGCOLOR);
    background-image: var(--BGCOLOR-FADE);
}

body {
    background-color: var(--BODY-BGCOLOR);
    color: var(--FONT-COLOR);
    min-height: 100vh;
    max-width: 800px;
    margin: 0 auto;
    border-left: var(--BORDERS);
    border-right: var(--BORDERS);
    box-shadow: 0 0 10px var(--BORDER-COLOR);
}
/* New Menu*/
header {
    color: var(--HEADER-COLOR);
    position: sticky;
    top: 0;
    z-index: 1;
}
.header-title-line {
    background-color: var(--HEADER-BGCOLOR);
    padding: 0.25rem 0.5rem;
    display: flex;
    flex-flow: row nowrap;
   /* justify-content: space-between;
    text-align: center;*/
    justify-content: center;
}
.menu-button {
    background-color: transparent;
    border: none;
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0.25rem;
    right: 0.5rem;
}

/*== overlays the menu button and moves out of the way on close == */
.closeMenuBtn {
    display: none;
    background-color: transparent;
    outline: none;
    border: none;
    position: absolute;
    top: 0.25rem;
    right: 0.5rem;
    width: 48px;
    height: 48px;
}

.menu-icon,
.menu-icon::before,
.menu-icon::after {
    background-color: var(--HEADER-COLOR);
    width: 40px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    transition: all 0.5s;
}
.menu-icon::before,
.menu-icon::after {
    content: "";
}

.menu-icon::before {
    transform: translate(-20px, -12px);
}
.menu-icon::after {
    transform: translate(-20px, 12px);
}
.header-title-line:focus-within .menu-icon {
    background-color: transparent;
    transform: rotate(720deg);
}

.header-title-line:focus-within .menu-icon::before {
    transform: translateX(-20px) rotate(45deg);
}

.header-title-line:focus-within .menu-icon::after {
    transform: translateX(-20px) rotate(-45deg);
}

nav {
    display: none;
    position: relative;
}

/*:is(header:hover, header:focus-within) nav {
    display: block;   
 }*/

 header:focus-within nav {
    display: block;
    transform-origin: top center;
    animation: showmenu 0.5s ease-in-out forwards;
 }
 
 header:focus-within .closeMenuBtn {
    display: block;
    
 }

/*Move the close button out of the way*/ 
header:focus-within .closeMenuBtn:focus {
    transform: translateX(-50px);
 }

 .closeMenuBtn:focus+nav {
    transform-origin: top center;
    animation: hidemenu 0.5s ease forwards;
 }

/*define animation*/
@keyframes showmenu {
    0% {
        transform: scaleY(0);
    }
    80% {
        transform: scaleY(1.2);
    }
    100% {
        transform: scaleY(1);
    }
}

@keyframes hidemenu {
    0% {
        transform: scaleY(1);
    }
    20% {
        transform: scaleY(1.2);
    }
    100% {
        transform: scaleY(0);
    }
}
nav ul {
    background-color: var(--HEADER-BGCOLOR);
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 1;
    list-style-type: none;
    display: flex;
    flex-flow: column nowrap;
}
nav li {
    padding: 0.5rem;
    border-top: 1px solid var(--HEADER-COLOR);
}
nav a {
    display: block;
    text-align: center;
    width: 80%;
    margin: auto;
}

nav :any-link {
    color: var(--HEADER-COLOR);
    font-weight: bold;
    text-decoration: none;
}

nav a:hover,
nav a:focus {
    transform: scale(1.2);
    transition: all 0.3s;
}

main {
    flex-grow: 1;
    display: grid;
    place-content: center;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding: 1rem;
}
/* Original*/
h1,
h2,
h3 {
    font-family: var(--FF-HEADINGS);
    letter-spacing: 0.1em;
}

h2,
h3 {
    margin-bottom: 1em;
    color: var(--HIGHLIGHT-COLOR);
}

p {
    line-height: 1.5;
}

a:any-link {
    color: var(--LINK-COLOR);
}

a:hover {
    color: var(--LINK-HOVER);
}
a:focus-visible {
    color: var(--LINK-HOVER);
}

a:active {
    color: var(--LINK-ACTIVE);
}
/* a.extra{
    color: #101b12;
    text-shadow: #9f7979;
} */

/* || HEADER */

.header {
    position: sticky;
    top: 0;
    z-index: 1;
}

.header__h1 {
    text-align: center;
    background-color: var(--HEADER-BGCOLOR);
    color: var(--HEADER-COLOR);
    padding: var(--PADDING-TB) var(--PADDING-SIDE);
}

.header__nav {
    background-color: var(--NAV-BGCOLOR);
    border-bottom: var(--BORDERS);
    font-weight: bold;
    box-shadow: 0 6px 5px -5px var(--BORDER-COLOR);
}

.header__ul {
    padding: var(--PADDING-TOP_BOT);
    list-style-type: none;
    display: flex;
    justify-content: space-evenly;
    gap: 1rem;
}
.extra_ul {
    padding: var(--PADDING-TOP_BOT);
    list-style-type: none;
    color: #716c6c;
    display: flex;
    justify-content: space-evenly;
    gap: 2rem;
}

/* || HERO */

.hero {
    position: relative;
}

.hero__h2 {
background-color: var(--HERO-BGCOLOR);
color: var(--HERO-COLOR);
padding: 0.25em 0.5em;
letter-spacing: 0.1rem;
text-shadow: 2px 2px 5px var(--BORDER-COLOR);
position: absolute;
top: -100px; 
left: 20px;
animation: showWelcome 1s ease-in-out 1s forwards;
}

/* Hero h2 animation*/
@keyframes showWelcome {
    0% {
        top: -20px;
        transform: skew(0deg, -5deg);
        scaleY: (0);
    }
    80% {
        top: 30px;
        transform: skew(10deg, -5deg);
        scaleY: (1.2);
    }
    100% {
        top: 20px;
        transform: skew(-10deg, -5deg);
        scaleY: (1);
    }
}

/* || FOOTER */

.footer {
    position: sticky;
    bottom: 0;
    background-color: var(--HEADER-BGCOLOR);
    color: var(--HEADER-COLOR);
    padding: var(--PADDING-TOP_BOT);
    text-align: center;
}

/* || MAIN */

.main {
    padding: var(--PADDING-TOP_BOT) var(--PADDING-SIDE);
}

.main__article {
    scroll-margin-top: 6.5rem;
    margin: var(--MARGIN);
}

.main__article:first-child {
    margin-top: 1em;
}

.main__article:last-child {
    min-height: calc(100vh - 20rem);
}

/* || ABOUT */

.about__trivia {
    margin: var(--MARGIN);
}

.about__trivia-answer {
    margin-top: 1em;
}

/* Camp figures */
.container {
    display: flex;
    background-color: rgb(251, 210, 156);
    background-image: url(../img/IMG_5503.jpeg);
    background-repeat: repeat;
    background-size: cover;
    padding-left: 20px;
    padding-bottom: 30px;
    padding-right: 20px;
    flex-shrink: 1;
    flex-grow: 1;
    max-width: 800px;
    min-width: 300px;
}
.about_photo_card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content:space-evenly;
    color: #000;
    flex-shrink: 1;
}

.camp-build-figure1 {
    width: 50%;
    height: auto;
    /* border: 5px solid red; */
    flex-shrink: 1; 
}
.camp-build-figure1 img {
    width: 100%;
    height: auto;
    /* min-width: 100px; */
    border: 5px double gray;
}
.camp-build-figure2 {  
    width: 45%;
    height: auto;
    /* border: 2px solid blue; */
    align-self: flex-start;
    flex-shrink: 1;  
}
.camp-build-figure2 img {
    width: 100%;
    height: auto;
    min-width: 100px;
    border: 5px double gray;
}
.camp-build-figure3 {
    width: 50%;
    height: auto;
    align-self: flex-end;
    flex-shrink: 1;   
}
.camp-build-figure3 img {
    width: 100%;
    height: auto;
    min-width: 100px;
    border: 5px double gray;
}
.about_h1 {
    font-size: 200%;
    align-self: flex-start;
}

/* || RHC Info */

.menupdf {
    
    align-items: center;
    width: 90%;
    height: 1000px;
}
.menu_h2 {
    font-family: Arial, Helvetica, sans-serif;
    font-style: italic;
}
.info_card {
    border: 1px solid;
    width: 85%;
    display: flex;
    padding-left: 3px;
    padding-right: 3px;
    padding-top: 7px;
    gap: 30px;
}
.emerg_card {
    display: flex;
    flex-direction: column;
    border: 5px double red;
    width: 100%;
    padding: 20px 40px 20px;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.phone_card {
    float: center;
    width: 90%;
    border: 3px double yellow;
    /* display: flex;
    flex-direction: column; */
    padding-left: 40px;
    
}
.emerg_h3 {

    color: red;
}
.emerg_no {
    color: yellow;
}
.emerg_lnk {
    color: red;
}
.mark {
    background-color: yellow;
    
}
/* || MEMBERS */

table {
    width: 100%;
}
    
    th {
        color: var(--HIGHLIGHT-COLOR);
        border: medium ridge var(--BORDER-COLOR);
        font-weight: bold;
        height: 100%;
        place-content: center;
    }

   td {
        padding: 1em;
        border: medium ridge var(--BORDER-COLOR);
        font-size: 13pt;
    }

   th:last-child {
        border-top-right-radius: var(--BORDER-RADIUS);
    }
   thead th:first-child {
        border-top-left-radius: var(--BORDER-RADIUS);
    }
    tfoot td {
        place-content: center;
        border-bottom-left-radius: var(--BORDER-RADIUS);
        border-bottom-right-radius: var(--BORDER-RADIUS);
    }

    /* || PROFILE CARD */
.card {
    scroll-margin-top: 8rem;
    width: min(100%, 350px);
    background-color: #72c1b9;
    color: rgb(17, 97, 69);
    border: 2px solid #000;
    border-radius: 15px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
.card figure {
display: flex;
flex-flow: column nowrap;
}

.card img {
border: 5px double #333;
border-radius: 50%;
}

.card figcaption {
font-weight: bolder;
font-size: 2rem;
color: darkgreen;
margin: 1rem;
text-align: center;
}
.card__center,
.card__center a {
text-align: center;
font-size: 12px;
color:var(--LINK-COLOR);
padding: var(--PADDING-TOP_BOT);
}
.card__center a:hover {
color: var(--LINK-HOVER);
}
.card__center p {
    text-align: center;
}
  
    /* Add hunter icons to H1 Heading...cool!*/
    @media screen and (min-width: 576px) {
        .header__h1::before {
            content: '🦌 ';
        }
        .header__h1::after {
            content: ' 🫎 ';
        }

        .member__header,
        .member__item_cr,
        .member__item_cs,
        .member__item_sf {
            font-size: 125%;
        }
    } 


    /* login styles */

    .full-screen-container {
        background-image: url("../img/RHC_Land_overview_356x238.png");
        height: 100vh;
        width: 100%;
        background-size: cover;
        background-position: center;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .login-container {
        --color: hsl(var(--primary-dark-hsl), .9);
        color: rgba(115, 174, 115, 0.887);
        background-color: var(--color);
        background-color: rgba(12,20,12,0.6);
        box-shadow: 0 0 15px 0 var(--color);
        padding: 40px 30px;
        width: 60%;
        padding-left: 6%;
        padding-right: 6%;
        /* height: 300px; */
        max-width: 600px;
        border-radius: 20px;
      }
      
      .login-title {
        margin: 0;
        color: rgb(53, 164, 101);
        text-align: center;
        font-size: 2rem;
        font-weight: normal;
      }
      
      .form {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 40px;
      }

        .g-day {
            text-align: center;
        }

      .pswrd {
        display: flex;
        flex-direction: column;
        gap: 7px;
      }
      
      .pswrd label {
        color: whitesmoke;
        font-weight: lighter;
      }
      
      .pswrd input {
        font-size: 1.25rem;
        padding: .5em;
        background-color: hsl(var(--primary-light-hsl), .3);
        border: none;
        outline: none;
        border-radius: .25em;
        color: white;
        font-weight: lighter;
      }
      
      .pswrd.success input {
        box-shadow: 0 0 0 1px hsl(var(--success-hsl));
      }
      
      .pswrd.error input {
        box-shadow: 0 0 0 1px hsl(var(--error-hsl));
      }
      
      .pswrd input:focus {
        box-shadow: 0 0 0 1px hsl(var(--primary-hsl));
      }
      
      .pswrd .msg {
        display: none;
        font-size: .75rem;
      }
      
      .input-group.success .msg,
      .input-group.error .msg {
        display: block;
      }
      
      .pswrd.error .msg {
        color: hsl(var(--error-hsl));
      }
      
      .input-group.success .msg {
        color: hsl(var(--success-hsl));
      }
      
      .submit_button {
        padding: .5em 1em;
        font-size: 1.5rem;
        font-weight: lighter;
        color: white;
        background-color: rgba(17, 97, 69, 0.5);
        border: 1px solid hsl(var(--primary-hsl));
        border-radius: .25em;
        outline: none;
        cursor: pointer;
      }
      
      .submit_button:hover,
      .submit_button:focus {
        background-color: hsl(var(--primary-hsl), .4);
      }