@font-face {
    font-display: swap;
    font-family: 'Kristi';
    font-style: normal;
    font-weight: 400;

}

:root {
    /* Fonts */
    --titlefont:'Kristi', Georgia, serif;
    --headerfont:Georgia, serif;
    --bodyfont:Georgia, serif;

    /* Images - change paths if necessary */
    --backgroundimage:url(background.png);
    --headerimage:url(flyer.png);
    --boximage:url(quote.jpg);
    
    /* Colors */
    --backgroundcolor:#ccc;
    --contentbackground:#FFF;

    --contentcolor:#4f4f4f;
    --footercolor:#444;

    --title:#ff3131;
    --header1:#00bf63;
    --header2:#ff3131;
    --header3:#ff9f10;

    --navlink:#546926;
    --navlinkhover:#ff9f10;
    --navlinkborder:#ff9f10;
    --navlinkborderhover:#b3d167;

    --link:#982a54;
    --linkhover:#cd2b94;
    --linkborder:#b3d167;

    --formbackground:#FFF;
    --formcolor:#982a54;
    --formborder:#b3d167;

    --boxbackground:#ccc;
    --boxcolor:#555;
    --boxborder:#999;

    --footerlink:#982a54;
    --footerlinkhover:#cd2b94;
    
}

* { /*reset margin and padding*/
    margin:0;
    padding:0;
    border:0;
}

body {
    background:var(--backgroundimage) fixed var(--backgroundcolor);
    font:1rem var(--bodyfont);
	background-color:#000;
    line-height:1.5;
}

#container {
    margin:50px auto 20px auto;
    background-color:var(--contentbackground);
    max-width:500px;
    width:90%;
}

#banner {
    width:100%;
    height:700px;
    background:var(--headerimage) no-repeat center;
    background-size:cover;
}

#title {
    font:2.7em var(--titlefont);
    color:var(--title);
    text-transform:lowercase;
    text-align:center;
    padding:5px;
}


#navigation {
    width:calc(100% - 10px);
    text-align:center;
    padding:5px;
}

#navigation ul li {
    display:inline-block;
    list-style:none;
    padding: .25em .5em .25em 0;
}

#navigation ul li a {
    font:1.4em var(--headerfont);
    color:var(--navlink);
    text-decoration:none;
    border-bottom:3px solid var(--navlinkborder);
}

#navigation ul li a:hover, #navigation ul li a:focus {
    color:var(--navlinkhover);
    border-bottom:3px solid var(--navlinkborderhover);
}

#content {
    color:var(--contentcolor);
    padding:0 20px 20px 20px;
    width:var(100% - 40px);
}

    #content p {
        margin:1em 0 1em 0;
    }
    
    #content h1 {
        border-bottom:1px solid #eab3c8;
        font:1.7em var(--headerfont);
        color:var(--header1);
        margin:0.25em 0 0.25em 0;
    }
    
    #content h2 {
        color:var(--header2);
        font:1.5em var(--headerfont);
        text-transform:lowercase;
        border-bottom:1px solid #ccc;
        margin:0.25em 0 0.25em 0;
    }

    #content h3 {
        font:1.3em var(--headerfont);
        text-transform:lowercase;
        font-style:italic;
        color:var(--header3);
        margin:0.25em 0 0.25em 0;
    }
    
    #content a {
        color:var(--link);
        border-bottom:2px solid var(--linkborder);
    }
    
    #content a:hover {
        color:var(--linkhover);
        text-decoration: line-through;
    }
    
    #content li {
        margin:.5em 0 .5em 1.5em;
        list-style-position:outside;
    }
    
    #content blockquote, #content .box {
        background:var(--boximage) var(--boxbackground);
        color:var(--boxcolor);
        border:1px solid var(--boxborder);
        padding:15px;
    }
    
    #content input, #content textarea, #content select, #content button {
        background:var(--formbackground);
        color:var(--formcolor);
        border:1px solid var(--formborder);
        padding:5px;
        margin-top:5px;
        font:1em var(--bodyfont);
    }

#footer {
    text-align:center;
    color:var(--footercolor);
    max-width:100%;
}
    
    #footer a {
        color:var(--footerlink);
    }
    
    #footer a:hover, #footer a:focus {
        color:var(--footerlinkhover);
        text-decoration: line-through;
    }

    #footer p {
        margin:0.5em 0 0.5em 0;
    }

#skip a {
    position:absolute;
    display:inline-block;
    left:0px;
    top:-1000px;
    overflow:hidden;
    transition:top 0.5s ease;
    background:var(--contentbackground);
    color:var(--link);
    z-index:1000;
    padding:5px;
}
 
#skip a:focus {
    top: 0;
    transition:top 0.5s ease;
}

/* General table styling */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  font-size: clamp(0.9rem, 2.5vw, 1rem); /* responsive font sizing */
  line-height: 1.5;
  background-color: #fffaf5; /* subtle warm background */
  border: 1px solid #959595;
  border-radius: 8px;
  overflow: hidden; /* ensures rounded corners show */
}

/* Caption styling */
caption {
  font-weight: bold;
  text-align: left;
  padding: 0.75em;
  color: #3e3e3e;
  background-color: #f9e2cf; /* pale orange */
  border-bottom: 1px solid #959595;
}

/* Header row */
thead th {
  background-color: #d9f7d4; /* pale green header */
  color: #222;
  font-weight: 600;
  text-align: left;
  padding: 0.75em;
  border-bottom: 1px solid #959595;
}

/* Table body */
tbody th,
tbody td {
  padding: 0.6em 0.8em;
  border-bottom: 1px solid #959595;
  vertical-align: top;
}

/* Alternate row colors */
tbody tr:nth-child(odd) {
  background-color: #fff4e6; /* pastel orange */
}

tbody tr:nth-child(even) {
  background-color: #ebf9eb; /* pastel green */
}

/* Responsive tweaks for small screens */
@media (max-width: 600px) {
  table {
    font-size: clamp(0.85rem, 2.8vw, 0.95rem);
  }

  caption {
    padding: 0.5em;
  }

  th,
  td {
    padding: 0.5em;
  }
}
