html {
    scroll-behavior: smooth;
}

body {
    background: #f1f2f2;
    font-family: 'rubik', sans-serif;
    font-weight: 400;
}

html, body {
    height: 100%;
}

div.container.py-5.text-center {
    background: #fff;
}

body.storyboard, body.storyboard a {
    color: #152c88;
}

body.storyboard .custom-underline::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background: #152c88;
    margin: 0 auto 0;
}

body.animation {
    color: #ec692c;
}

body.animation .custom-underline::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background: #ec692c;
    margin: 0 auto 0;
}

body.animation, body.animation a, body.animation .text-muted {
    color: #ec692c !important;
}

body.a_propos, body.a_propos a, body.a_propos .text-muted {
    color: #ff0000 !important;
}

body.a_propos .custom-underline::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background: #ff0000;
    margin: 0 auto 0;
}

.video-responsive {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.video-responsive iframe {
    width: 100%;
    height: 100%;
    border: 0;
}


h1 {
    font-family: 'Kirang Haerang', serif;
}

h2 {
    font-family: 'rubik', serif;
    font-weight: 700;
    font-size: 1.25rem;
}

.studio-section > div {
    border-bottom: none;
}

/**.studio-section > div:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-bottom: 1rem;
} **/

.section-title {
    color: #333333;
}

.page-wrapper {
    max-width: 66%;
    margin: 0 auto;
    background: #fff;
    padding: 0 16px;
}

@media (min-width: 768px) {
    .page-wrapper {
        max-width: 76%;
    }
}

@media (min-width: 1200px) {
    .page-wrapper {
        max-width: 66%;
    }
}

@media (min-width: 1400px) {
    .page-wrapper {
        max-width: 56%;
    }
}

@media (min-width: 1600px) {
    .page-wrapper {
        max-width: 50%;
    }
}

@media (max-width: 768px) {
    .page-wrapper {
        max-width: 100%;
    }
}

.intro-text {
    max-width: clamp(300px, 80%, 80%);
    margin: 0 auto 2rem;
    padding: 0 2%;
}

.content-column {
    max-width: clamp(320px, 90%, 95%);
    margin: 0 auto;
}


.studio-section {
    margin-bottom: 4rem;
}

.studio-section h2,
.studio-section p {
    text-align: left;
}


@media (min-width: 768px) {
    .logo-strip a {
        font-size: 1.25rem;
    }
}

.logo-strip a {
    text-align: left;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.25rem;
}

a:hover {
    opacity: 0.7;
    transition: 0.2s;
}

.project-media img {
    width: 100%;
    border-radius: 6px;
}

.project-media .ratio {
    border-radius: 6px;
    overflow: hidden;
}