@font-face {
    font-family: 'Cinzel';
    src: url('../fonts/Cinzel-Regular.woff2') format('woff2'),
    url('../fonts/Cinzel-Regular.woff') format('woff'),
    url('../fonts/Cinzel-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

* {
    box-sizing: border-box;
    scrollbar-width: thin; /* Options: auto, thin, none */
    scrollbar-color: white rgba(0, 0, 0, 0.7); /* Thumb color and track color */
}

html, body {
    font-family: 'Cinzel', sans-serif;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: black; /* Fallback background color when loading */
}

body {
    color: white;
}

main {
    height: 99%;
    background-image: linear-gradient(to bottom, transparent 90%, #000), url("../img/background.webp");
    background-position: 66%;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #000000;
    padding-top: 56px;
}

a {
    position: relative;
    color: #fff;
    text-decoration: none;
}

a:visited {
    color: white;
}

a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    height: 1px;
    width: 0;
    background: #fff;
    transition: width 0.3s ease;
}

a:hover::after {
    width: 100%;
}

/* Flash messages */
.message {
    padding: 1rem;
    background: #eff8ff;
    color: #2779bd;
    border-color: #6cb2eb;
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
    margin-bottom: 2rem;
}

.message.hidden {
    display: none;
}

.message.success {
    background: #e3fcec;
    color: #1f9d55;
    border-color: #51d88a;
}

.message.warning {
    background: #fffabc;
    color: #8d7b00;
    border-color: #d3b800;
}

.message.error {
    background: #fcebea;
    color: #cc1f1a;
    border-color: #ef5753;
}

iframe.responsive {
    max-width: 100%; /* Prevent it from exceeding its parent's width */
    width: 100%; /* Allow it to scale to full width of its container */
    height: auto; /* Maintain aspect ratio */
}
