/**
AFCA Website Base Design Elements:

WEBSITE TYPOGRAPHY
CSS rules to specify families:
.anton-regular {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
}

<weight>: Use a value from 100 to 900
<uniquifier>: Use a unique and descriptive class name
.roboto-condensed-<uniquifier> {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
<weight>: Use a value from 100 to 900
<uniquifier>: Use a unique and descriptive class name
.roboto-slab-<uniquifier> {
  font-family: "Roboto Slab", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


WEBSITE COLOR PALLETTE
rgba(255, 255, 255, 1) or #FFF white
rgba(0, 0, 0, 1) or #000 black
rgb(228, 199, 115, 1) or #E4C773 gold
rgba(125, 124, 126, 1) or #7D7C7E medium gray
rgba(50, 50, 50, 1) or #323232 dark gray
rgba(175, 73, 44, 1) or #AF492C rust
rgba(79, 121, 66, 1) or #4F7942 green
**/

/**Defining some global rgb color variables**/
:root {
    --color-white: 255, 255, 255;
    --color-black: 0, 0, 0;
    --color-gold: 228, 199, 115;
    --color-medgray: 125, 124, 126;
    --color-drkgray: 50, 50, 50;
    --color-rust: 175, 73, 44;
    --color-green: 79, 121, 66;
}

/**Removes Margin and Padding set by different browsers**/
* {
    margin: 0;
    padding: 0;
}
/**Sets the base body copy to be IM Fell English or default to a serif font**/
body {
    font-family: 'Roboto Slab', serif;
    font-size: 120%;
    color: rgba(var(--color-white), 1);
    background-color: rgba(var(--color-black), 1);
}

h1 {
    color: rgba(var(--color-white), 1);
    font-size: 120%;
    text-align: center;
    font-family: 'Anton', sans-serif;
}

h1 span {
    background-color: rgba(var(--color-rust), 1);
    padding: 0 .5rem;
}

h2 {
    color: rgba(var(--color-white), 1);
    font-size: 120%;
    text-align: center;
    font-family: 'Anton', sans-serif;
}

h2 span {
    background-color: rgba(var(--color-rust), 1);
    padding: .25rem .9rem;
    border-radius: 50%;
}

h3 {
    color: rgba(var(--color-white), 1);
    font-size: 120%;
    padding: 1rem 0 0 0;
    font-family: 'Anton', sans-serif;
}

.ingredients {
    list-style-type: none;
}

table {
    background-color: rgba(var(--color-gold), 1);
}

td {
    color: rgba(var(--color-white), 1);
    background-color: rgba(var(--color-black), 1);
    padding: .25rem .75rem;
}

.category {
    font-weight: 600;
}

.category-link {
    font-weight: 600;
    text-align: center;
}

.content2 {
    padding: 0 50px;
    color: rgba(255, 255, 255, 1);
}

/* grid container */
.right-article-grid {
    display:grid;
    grid-template-areas:
        'header'
        'image-content'
        'right-article'
        'footer';
}

/* general column padding */
.right-article-grid > * {
    padding:0;
}

/* assign columns to grid areas */
.right-article-grid > .header {
    grid-area:header;
    font-family: 'Anton', sans-serif;
    font-size: 2.5rem;
    text-align: center;
    padding: .5rem 2rem 1rem 2rem;
    background:rgba(var(--color-black), 1);
    color:rgba(var(--color-white), 1);
}

.right-article-grid > .image-content {
    text-align: center;
    grid-area:image-content;
    padding: 0 2rem 1.5rem 2rem;
    background:rgba(var(--color-black), 1);
}

img {
    max-width: 100%;
}

.right-article-grid > .right-article {
    grid-area:right-article;
    margin: 0 auto;
    padding: 0 2rem;
    background:rgba(var(--color-black), 1);
}

.right-article-grid > .footer {
    grid-area:footer;
    text-align: center;
    font-size: .75rem;
    font-weight: 600;
    padding: 1rem;
    background:rgba(var(--color-black), 1);
    color:rgba(var(--color-white), 1);
}

/* form styling */
input[type=text], select, textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid rgba(var(--color-rust), 1);
    border-radius: 4px;
    box-sizing: border-box;
    margin-top: 6px;
    margin-bottom: 16px;
    resize: vertical;
}

input[type=text]:focus {
    background-color: rgba(var(--color-white), .75);
}

select:focus {
    background-color: rgba(var(--color-white), .75);
}

textarea:focus {
    background-color: rgba(var(--color-white), .75);
}

input[type=email] {
    width: 100%;
    padding: 12px;
    border: 1px solid rgba(var(--color-rust), 1);
    border-radius: 4px;
    box-sizing: border-box;
    margin-top: 6px;
    margin-bottom: 16px;
    resize: vertical;
}

input[type=email]:focus {
    background-color: rgba(var(--color-white), .75);
}

input[type=submit] {
    background-color: rgba(var(--color-rust), 1);
    color: rgba(var(--color-white), 1);
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

input[type=submit]:hover {
    background-color: rgba(var(--color-medgray), 1);
}

.formcontainer {
    border-radius: 5px;
    background-color: rgba(var(--color-drkgray), 1);
    padding: 20px;
}

/* audio player positioning & controls */
#audio_player_group {
    position: relative;
    margin-top: -90px;
    margin-bottom: 10px;
}

#audio_control {
    position: relative;
    top: 175px;
    z-index: 3;
    background-color: rgba(var(--color-rust), 1);
    padding: .4em .25em;
    border-radius: .5em;
}

#album_title {
    position: relative;
    top: 175px;
    z-index: 2;
}

#record {
    position: relative;
    z-index: 1;
}

.audio_alone {
    background-color: rgba(var(--color-rust), 1);
    padding: .4em .25em;
    border-radius: .5em;
}

/* tablet breakpoint */
@media (min-width:800px) {
    .right-article-grid {
        grid-template-columns:repeat(4, 1fr);
        grid-template-areas:
            'header header header header'
            'image-content image-content right-article right-article'
            'footer footer footer footer';
    }
    
}

@media (max-width: 801px) { /* Adjust 801px to your preferred mobile breakpoint */
  .mobile-hidden-img {
    display: none !important; /* Hides the image on screens 768px wide or less */
  }
}

/* LINK STYLING: */
/* Unvisited Link */
a:link {
    color: rgba(var(--color-rust), 1);
    text-decoration: none;
}
.link-style2:link {
    color: rgba(var(--color-white), 1);
    text-decoration: none;
    font-weight: 600;
}

/* Visited Link */
a:visited {
    color: rgba(var(--color-medgray), 1);
}
.link-style2:visited {
    color: rgba(var(--color-medgray), 1);
}

/* Hover Link */
a:hover {
    color: rgba(var(--color-gold), 1);
}
.link-style2:hover {
    color: rgba(var(--color-gold), 1);
}

/* Selected Link */
a:active {
    color: rgba(var(--color-gold), .8);  
}
.link-style2:active {
    color: rgba(var(--color-gold), .8);  
}

/** Styling Return to Top of Page Link **/
div .back_to_top {
    text-decoration: none;
    width: 25px;
    height: 25px;
    background-color: rgba(var(--color-rust), 1);
    border-radius: 3px;
    text-align: center;
    margin: 0 0 0 auto;
    position:fixed;
    top: 80%;
    right: 10px;
}

div .back_to_top a:link, a:visited, a:hover, a:active {
    text-decoration: none;
    color: rgba(var(--color-white), 1);
}

/**AUDIO PLAYER STYLING**/
.audio-container {
    margin: auto;
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

#recordContainer {
    margin-bottom: -70px;
    position: relative;
    text-align: center;
    z-index: 0;
}

.jukebox-container {
    position: relative;
    margin: auto;
    z-index: 1;
    width: 260px;
    background: rgba(var(--color-rust), 1);
    border: 15px solid rgba(var(--color-black), 0.5);
    border-radius: 5px;
    padding: 10px 5px;
    text-align: center;
}

.current-track-info {
    margin-bottom: 20px;
}

.track-title {
    font-size: 1.25rem;
    font-weight: 900;
    color: rgba(var(--color-white), 1);
    margin-bottom: 2px;
}

.controls {
    margin-bottom: 20px;
}

.controls button {
    background: rgba(var(--color-black), 1);
    color: rgba(var(--color-white), 1);
    border: none;
    border-radius: 10%;
    width: 32px;
    height: 32px;
    font-size: 1rem;
    cursor: pointer;
    margin: 0;
    transition: background-color 0.3s;
}

.controls button:hover {
    background: rgba(var(--color-black), 0.5);
}

input[type="range"] {
    appearance: none;
    background: transparent;
    margin: 0;
    width: 30%;
    padding: 0 10px;
}

input[type="range"]:focus {
    outline: none;
}

input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    Height: 6px;
    cursor: pointer;
    background: rgba(var(--color-black), 1);
}

input[type="range"]::-moz-range-track {
    appearance: none;
    width: 100%;
    Height: 6px;
    cursor: pointer;
    background: rgba(var(--color-black), 1);
}

input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 16px;
    Height: 16px;
    border: 2px solid rgba(var(--color-white), 1);
    border-radius: 8px;
    margin-top: -4px;
    cursor: pointer;
    background: rgb(228, 199, 115, 1);
}

input[type="range"]::-moz-range-thumb {
    width: 12px;
    Height: 12px;
    border: 2px solid rgba(var(--color-white), 1);
    border-radius: 16px;
    cursor: pointer;
    background: rgb(228, 199, 115, 1);
}

.seek-bar-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.seek-slider {
    flex-grow: 1;
    appearance: none;
    background: rgba(var(--color-black), 1);
    height: 8px;
    border-radius: 1px;
    cursor: pointer;
}

.seek-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    background: rgba(var(--color-gold), 1);
    border: 2px solid rgba(var(--color-white), 1); 
    border-radius: 50%;
    cursor: pointer;
}

.seek-slider::-moz-range-thumb {
    -moz-appearance: none;
    width: 15px;
    height: 15px;
    background: rgba(var(--color-gold), 1);
    border: 2px solid rgba(var(--color-white), 1); 
    border-radius: 50%;
    cursor: pointer;
}

.current-time, .total-duration {
    font-size: 1rem;
    color: rgba(var(--color-white), 1);
}

.playlist {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    color: rgba(var(--color-white), 1);
    max-height: 550px;
    overflow-y: auto;
    border-top: 1px solid rgba(var(--color-black), 1);
    padding-top: 10px;
}

.playlist li {
    font-size: .9rem;
    padding: 5px;
    cursor: pointer;
    border-radius: 3px;
    transition: background-color 0.2s;
}

.playlist li:hover {
    background-color: rgba(var(--color-black), 0.5);
}

.playlist li.active {
    background-color: rgba(var(--color-black), 0.2);
}