@font-face { font-family: Sniglet; src: url(../fonts/Sniglet.ttf); }
@font-face { font-family: Rubik; src: url(../fonts/Rubik.ttf); }


/* Default Mapbox Styling */
body { margin: 0; padding: 0; }
#map { position: absolute; top: 0; bottom: 0; width: 100%; }



/* Variables */
:root {
    --black: #000f05;
    --white: #fef9ff;
    --midwhite: #fae0ff;
    --purp: rgb(102, 21, 102);
}


/* Fonts */
body {
    font-family: Rubik, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: var(--black);
    background-color: var(--white);
}

h1, h2, h3, h4, h5 {
    font-family: Sniglet, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.75em;
}

h3 {
    font-size: 1.5em;
}

h4 {
    font-size: 1.25em;
}

p {
    font-size: 1em;
}

a {
    text-decoration: none;
    color: inherit;
    font-size: 1em;
    font-style: italic;
}

a:hover {
    text-decoration: underline;
}

button {
    font-family: Rubik, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 1em;
}



/* Main Styles */

/* Header */
header {
    display: flex;
    gap: 30px;
    position: fixed;
    z-index: 5;
    background-color: var(--midwhite);
    left: 0;
    top: 0;
    right: 0;
    border-bottom: 3px dashed var(--black);
    height: 60px;
}

header button {
    width: 100px;
    background-color: var(--purp);
    border: none;
    cursor: pointer;
    height: 40px;
    margin: 8px 0;
    color: var(--white);
    font-size: 1.5em;
    justify-self: center;
}

header h1 {
    padding: 10px;
}



/* Nav */
nav {
    display: grid;
    grid-template-columns: repeat(3, 33%);
}

nav button {
    display: block;
    padding: 10px;
    width: 100%;
    background-color: var(--purp);
    border: none;
    cursor: pointer;
    height: 40px;
    color: var(--white);
}
  
nav button:hover {
    background-color: violet;
    color: var(--black);
}

#list1, #list2 {
    border-right: 2px solid var(--black);
}

#endBtn:hover {
    background-color: var(--purp);
    cursor: default;
}


/* Article */
#sidebar {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 23%;
    z-index: 4;
    margin-top: 75px;
    padding: 30px 1%;
    background-color: var(--white);
    height: 100%;
}

#map {
    position: fixed;
    left: 0;
    top: 0;
    width: 75%;
    height: 100%;
}



/* Markers and Popups               https://docs.mapbox.com/help/tutorials/custom-markers-gl-js/ */ 
.marker {
    background-image: url('../img/icon.png');
    background-size: cover;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    cursor: pointer;
}

.mapboxgl-popup {
    max-width: 250px;
    color: var(--black);
}

.mapboxgl-popup-content {
    background-color: var(--white);
    text-align: center;
}

#alaskaIcon {
    background-image: url(../img/alaskastate.png);
    width: 150px;
    height: 150px;
}

#hawaiiIcon {
    background-image: url(../img/hawaiistate.png);
    width: 100px;
    height: 100px;
}



/* Blurbs and Blurb Related Styles */
.blurb {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.blurbfade {
    opacity: 0;
}

.blurb h1, .blurb h2 {
    padding-bottom: 7px;
}

.blurbHead {
    margin-bottom: 15px;
    border-bottom: 3px dashed var(--purp);
}

.blurb img {
    width: 100%;
    max-width: 400px;
    display: block;
    margin: auto;
}

figure {
    position: relative;
    width: 100%;
    max-width: 400px;
    border: 3px solid var(--purp);
    box-shadow: 0px 3px 3px var(--black);
    margin-bottom: 40px;
}

figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: var(--white);
    background-color: rgba(0, 0, 0, 0.5);
    padding: 6px 4px;
    font-size: 0.8em;
}

figcaption:hover {
    background-color:rgba(0, 0, 0, 0.15);
}