/* ==== Reset & Basics ==== */

@font-face {
    font-family: "ChaparralPro";
    src: url("../assets/chaparral-pro-cufonfonts-webfont/ChaparralPro-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --theme-primary: #FF9A28;
    --theme-primary-rgb: 255, 154, 40;
    --theme-text-color: #000000;

    --font-primary: "ChaparralPro", serif;

    --bs-body-font-family: var(--font-primary);

    --bs-primary: var(--theme-primary);
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;

    --bs-body-bg: #e1e1e1;
    --bs-body-color: var(--theme-text-color);

    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: #0a58ca;

    --oeof-grau: #9aa1a5;
}


/* ==== Bootstrap ==== */

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--theme-primary);
    --bs-btn-border-color: var(--theme-primary);

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg:
        color-mix(in srgb, var(--theme-primary) 85%, black);
    --bs-btn-hover-border-color:
        color-mix(in srgb, var(--theme-primary) 75%, black);

    --bs-btn-active-color: #fff;
    --bs-btn-active-bg:
        color-mix(in srgb, var(--theme-primary) 70%, black);
    --bs-btn-active-border-color:
        color-mix(in srgb, var(--theme-primary) 70%, black);

    --bs-btn-focus-shadow-rgb: var(--theme-primary-rgb);
}


/* ==== Global ==== */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    font-family: var(--font-primary);
}

body {
    /*background: var(--bs-body-bg);
    color: var(--bs-body-color);
    line-height: 1.5;*/
}

.chap {
    font-family: var(--font-primary);
}

/*h1,
h2 {
    font-family: var(--font-primary);
    color: var(--bs-primary);
}*/

h1 {
    font-family: var(--font-primary);
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    color: #f15a2a;
    margin: 0;
}

h2 {
    font-family: var(--font-primary);
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #8b9296;
    margin: 0.15rem 0 0;
}

/* ==== Articles ==== */

.article-item {
    margin-bottom: 20px;
}

.article-item h2 {
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.article-item a {
    color: #0044aa;
}

.article-item a:hover {
    text-decoration: underline;
}

.article-title {
    font-size: 2rem;
    margin-bottom: 15px;
}

.article-body {
    font-size: 1.1rem;
    margin-bottom: 30px;
}


/* ==== Utility ==== */

.center {
    text-align: center;
}

.hidden {
    display: none;
}


/* ==== Flex ==== */

.flexcontainer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    text-align: center;
}

.flexitem {
    flex: 0 1 200px;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    border-radius: 10px;
}


/* ==== Containers ==== */

.containatusgrandatus {
    margin-top: 0;
    position: fixed;
    left: 0;
    top: 250px;
    width: 100%;
    max-height: calc(100% - 250px);
    height: calc(100% - 250px);
}

.maincontainer {
    transition: transform 400ms cubic-bezier(0.5, 0, 0.5, 1);
    overflow-y: scroll;
    width: 100%;
    min-width: 100%;
    height: 100%;
}

.subcontainer {
    position: absolute;
    top: 0;
    left: -100%;
    transition: transform 400ms cubic-bezier(0.5, 0, 0.5, 1);
    min-height: calc(100% - 80px);
    height: 100%;
    max-width: 100%;
    min-width: 100%;
    overflow: scroll;
}

.subcontainerbuttons {
    padding-left: 10px;
}


/* ==== Images ==== */

.card-img-wrapper {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.card-img-wrapper img:hover {
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.img-test {
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.25);
}


/* ==== Content transition ==== */

.content {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 520ms ease-out,
        transform 120ms ease-out;
}

.content.is-switching {
    opacity: 0;
    transform: translateY(144px);
}


/* ==== ÖOF specific ==== */

.oeof-header {
    padding-top: 0;
    text-align: right;
    height: 300px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -14px;
}

.oeof-list ul,
.oeof-list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.oeof-list li::marker {
    content: "";
}

.chaparral {
    font-family: var(--font-primary);
    color: var(--theme-text-color);
    background-color: var(--bs-body-bg);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

.chaparral * {
    font-family: inherit;
}

.chaparral-nuclear-test {
    /* font-family: "ChaparralPro", serif !important; */
    font-size: 2rem !important;
    font-weight: 400 !important;
    line-height: 1.2;
    color: var(--theme-text-color);
}

.chaparral-nuclear-test * {
    font-family: "ChaparralPro", serif !important;
    color: inherit !important;
    font-size: inherit !important;
}

.publication-article-author {
    font-family: var(--font-primary);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 0.025em;
    color: var(--oeof-grau);
    margin: 0;
}

.publication-article-title {
    font-family: var(--font-primary);
    font-size: 1.18rem;
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    color: var(--oeof-grau);
    margin: 0.05rem 0 0;
}

.publication-article-subtitle {
    font-family: var(--font-primary);
    font-size: 1.12rem;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.025em;
    color: var(--oeof-grau);
    margin: 0.25rem 0 0;
}

.standard {
    font-family: var(--font-primary) ! important;
    font-size: 1.12rem;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.025em;
    color: var(--oeof-grau);
    margin: 0.25rem 0 0;
}

a {
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #e98222;
    text-decoration: none;
}

a::before {
    content: ">";
    display: inline-block;
    margin-right: 0.45em;
    font-size: 0.85em;
    font-weight: 400;
    color: #e98222;
}

a:hover {
    color: #f15a24;
    text-decoration: none;
}

a:hover::before {
    color: inherit;
}

.card {
    border: 1px solid #c8c8c8 !important;
    border-radius: 0 !important;
    box-shadow: none;
}