/*
  Theme Name: Brandstories
  Author: Egloo
  Author URI: https://egloo.it
  Version: 1.0.1
*/

:root {
    --header-height: 5.375rem;

    --c-white: #ffffff;

    --site-width: 86.25rem;
    --columns-gap: 1.875rem;

    --c-gray: #838383;
    --c-accent: #003C69;
    --c-light-gray: #F4F4F4;

    --ff-main: "sofia-pro", sans-serif;
    --ff-title: "Sofia Sans Condensed", sans-serif;

    font-family: var(--ff-main), sans-serif;

    background: black;
    color: white;
}

@media only screen and (max-width: 768px) {
    :root {
        --header-height: 4.375rem;
    }
}

main:not(.no-padding) {
    padding-top: var(--header-height);
}

.ff-main {
    font-family: var(--ff-main), sans-serif;
}

.ff-title {
    font-family: var(--ff-title), sans-serif;
}

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

a,
input,
textarea,
select,
button,
h1,
h2,
h3,
h4,
h5,
h6 {
    font: inherit;
    color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--ff-title), serif;
}

ol,
ul {
    list-style-type: none;
}

a {
    text-decoration: none;
}

dialog[open] {
    border: none;
    background-color: transparent;
    border-radius: 0;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: none;
    max-block-size: none;
    display: grid;
    place-items: center;
}

dialog.not-grid[open] {
    display: block;
}

img,
video,
iframe {
    display: block;
    width: 100%;
    height: auto;
}

button,
label,
input {
    cursor: pointer;
}

input[type="submit"],
button {
    border: none;
    background-color: transparent;
}

svg {
    line-height: 0;
}

.container {
    width: 100%;
    /*max-width: calc(var(--site-width) + 2 * var(--columns-gap));*/
    padding-left: var(--columns-gap);
    padding-right: var(--columns-gap);
    margin: auto;
}

.container.container-8 {
    --site-width: 53.25rem;
}

.container.container-10 {
    --site-width: 66.875rem;
}

.full-page {
    height: 0;
    min-height: 100vh;
}

.ultra-title {
    font-family: var(--ff-title), serif;
    font-size: 11.25rem;
    line-height: .89;
    font-weight: 300;
    text-transform: uppercase;
}

.highlight {
    font-weight: bold;
}

/* Header */

header.eg-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    mix-blend-mode: difference;
}

header.eg-header .navbar {
    padding: 0.625rem 0;
}

header.eg-header .navbar .navbar-content {
    display: flex;
    align-items: center;
    mix-blend-mode: difference;
}

header.eg-header .navbar .navbar-content .header-logo-wrapper,
header.eg-header .navbar .navbar-content .language-switcher-wrapper {
    flex: 1;
}

header.eg-header .navbar .navbar-content .header-logo-image {
    min-width: 10rem;
    max-width: 13.5rem;
}

header.eg-header .navbar .navbar-content .menu-voices-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.875rem;
    text-transform: uppercase;
    font-size: 1.625rem;
    font-family: var(--ff-title), serif;
}

header.eg-header .navbar .navbar-content .menu-voices-list:not(.highlight) {
    font-weight: 300;
}

/* Hero big title */

section.hero.big-title {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 6rem;
    padding-bottom: 6rem;
}

/* Content grid */

section.content-grid {
    display: flex;
    flex-direction: column;
    gap: 13.875rem;
    margin-bottom: 13.875rem;
}

section.content-grid .grid-row .row-contents {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: var(--columns-gap);
}

section.content-grid .grid-row.align-right .row-contents {
    justify-content: end;
}

section.content-grid .grid-row .row-contents .grid-content {
    grid-column: span 12;
}

/*
section.content-grid .grid-row.align-right .row-contents .grid-content {
    justify-self: end;
}
*/

section.content-grid .grid-row .row-contents .grid-content.width-five {
    grid-column: span 5;
}

section.content-grid .grid-row .row-contents .grid-content.width-six {
    grid-column: span 6;
}

section.content-grid .grid-row .row-contents .grid-content.width-seven {
    grid-column: span 7;
}

section.content-grid .grid-row .row-contents .grid-content.width-ten {
    grid-column: span 10;
}

section.content-grid .grid-row .row-contents .grid-content img {
    border-radius: 0.625rem;
}

/* Hero img */

section.hero.img {
    min-height: 80vh;
    position: relative;
}

section.hero.img .bg,
section.hero.img .bg .bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.hero.img .bg .bg-img {
    object-fit: cover;
}

/* Project intro */

section.project-intro {
    padding-top: 3.125rem;
}

section.project-intro,
section.project-intro .title-wrapper {
    margin-bottom: 3rem;
}

section.project-intro .project-title {
    font-size: 7.5rem;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1;
}

section.project-intro .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    grid-column-gap: var(--columns-gap);
    gap: 1.875rem;
    font-size: 1.25rem;
}

/* Mixed content grid */

section.mixed-content-grid {
    display: flex;
    flex-direction: column;
    gap: 2.875rem;
    margin-bottom: 6.25rem;
}

section.mixed-content-grid .grid-row .row-content {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: var(--columns-gap);
}

section.mixed-content-grid .grid-row .row-content.content-type-h_text {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3125;
}

section.mixed-content-grid .grid-row .row-content.content-type-simple_text {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.3;
}

section.mixed-content-grid .grid-row .row-content.content-type-simple_text strong {
    font-weight: bold;
}

section.mixed-content-grid .grid-row .row-content.content-type-simple_text p:not(:last-child) {
    margin-bottom: 1.3em;
}

section.mixed-content-grid .grid-row .row-content.content-type-simple_text a {
    color: #EF7681;
    font-weight: 600;
    text-decoration: underline;
}

section.mixed-content-grid .grid-row .row-content.content-type-video .content-video {
    position: relative;
    aspect-ratio: 16 / 9;
}

section.mixed-content-grid .grid-row .row-content.content-type-video .content-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Projects grid */

section.projects-grid {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
    background: white;
    color: black;
}

section.projects-grid .section-title {
    text-align: center;
    font-size: 5rem;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 3.125rem;
}

section.projects-grid .projects-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    grid-column-gap: var(--columns-gap);
    grid-row-gap: 3.125rem;
}

section.projects-grid .project-item a {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
}

section.projects-grid .project-item .project-image {
    aspect-ratio: 440/248;
    position: relative;
}

section.projects-grid .project-item .project-image img {
    border-radius: 0.625rem;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.projects-grid .project-item .project-title {
    font-size: 2rem;
    font-weight: bold;
    text-transform: uppercase;
}

/* Full page video */

section.full-page-video {
    position: relative;
    height: 100vh;
}

section.full-page-video .video-embed-wrapper,
section.full-page-video .video-poster {
    position: relative;
    width: 100%;
    height: 100%;
}

section.full-page-video .video-embed-wrapper iframe,
section.full-page-video .video-poster img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.full-page-video .video-poster img {
    object-fit: cover;
}

/* Fixed title - scrolling content */

section.fixed-title-scrolling-content {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
}

section.fixed-title-scrolling-content .columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: var(--columns-gap);
}

section.fixed-title-scrolling-content .column.fixed-title {
    position: sticky;
    top: calc(var(--header-height) + 3.125rem);
    align-self: start;
}

section.fixed-title-scrolling-content .column.scrolling-content {
    display: flex;
    flex-direction: column;
    gap: 6.25rem;
}

section.fixed-title-scrolling-content .content-block {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}

section.fixed-title-scrolling-content .content-block .medium-title {
    font-family: var(--ff-title), serif;
    font-size: 4rem;
    line-height: 1;
    font-weight: bold;
}

section.fixed-title-scrolling-content .content-block .block-text {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.3;
}

/* Ultra title + text */

section.ultra-title-text {
    margin-top: 6.25rem;
    margin-bottom: 6.25rem;
}

section.ultra-title-text .container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

section.ultra-title-text .text-content {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.3;
}

section.ultra-title-text .text-content p:not(:last-child) {
    margin-bottom: 1.3em;
}

section.ultra-title-text .text-content a {
    font-weight: bold;
    text-decoration: underline;
}

/* Text columns */

section.text-columns {
    margin-top: 6.25rem;
    margin-bottom: 6.25rem;
}

section.text-columns .text-columns-cols {
    display: grid;
    grid-template-columns: repeat(var(--number-of-columns), 1fr);
    grid-column-gap: var(--columns-gap);
}

section.text-columns .single-column {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.08;
}

section.text-columns .single-column strong {
    font-weight: bold;
}

section.text-columns .single-column p:not(:last-child) {
    margin-bottom: 0.625rem;
}

/* Footer */

footer.eg-custom-footer {
    background: #222222;
}

footer.eg-custom-footer .main-footer {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
}

footer.eg-custom-footer .main-footer .footer-columns {
    display: grid;
    grid-template-columns: 4fr 3fr 3fr 2fr;
    grid-gap: var(--columns-gap), 3rem;
}

footer.eg-custom-footer .main-footer .footer-logo-image {
    max-width: 17.4375rem;
}

footer.eg-custom-footer .main-footer .menu-voices-list {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
}

footer.eg-custom-footer .main-footer .menu-voice {
    font-size: 2rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 300
}

footer.eg-custom-footer .main-footer .footer-column.contacts {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
}

footer.eg-custom-footer .main-footer .footer-column.contacts .group-logo {
    max-width: 13.5rem;
}

footer.eg-custom-footer .main-footer .footer-column.contacts .social-block {
    display: flex;
    gap: 1.25rem;
}

footer.eg-custom-footer .main-footer .footer-column.contacts .social-link {
    width: 2.25rem;
}

footer.eg-custom-footer .main-footer .footer-column.contacts .contact-info-block {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

footer.eg-custom-footer .main-footer .footer-column.contacts .contact-info-title {
    font-size: 2rem;
    font-weight: 300;
    text-transform: uppercase;
}

footer.eg-custom-footer .main-footer .footer-column.contacts .contact-info-link {
    font-size: 1.25rem;
    font-weight: 600;
}

footer.eg-custom-footer .main-footer .footer-column.badge {
    display: flex;
    justify-content: flex-end;
}

footer.eg-custom-footer .main-footer .footer-column.badge .badge-link img {
    max-width: 9.3rem;
}

footer.eg-custom-footer .bottom-footer-content {
    padding: 1.5rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    font-weight: 300;
}

footer.eg-custom-footer .bottom-footer-content .bottom-footer-text:first-child,
footer.eg-custom-footer .bottom-footer-content .bottom-footer-text:last-child {
    flex: 1;
}

footer.eg-custom-footer .bottom-footer-content .bottom-footer-text:last-child {
    text-align: right;
}
