@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-BlackItalic.eot');
    src: local('../Blacker Sans Text Black Italic'), local('../fonts/BlackerSansText-BlackItalic'),
    url('../fonts/BlackerSansText-BlackItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-BlackItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-BlackItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Black.eot');
    src: local('../Blacker Sans Text Black'), local('../fonts/BlackerSansText-Black'),
    url('../fonts/BlackerSansText-Black.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Black.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Black.woff') format('woff'),
    url('../fonts/BlackerSansText-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-BoldItalic.eot');
    src: local('../Blacker Sans Text Bold Italic'), local('../fonts/BlackerSansText-BoldItalic'),
    url('../fonts/BlackerSansText-BoldItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-BoldItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-BoldItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-ExtraboldItalic.eot');
    src: local('../Blacker Sans Text Extrabold Italic'), local('../fonts/BlackerSansText-ExtraboldItalic'),
    url('../fonts/BlackerSansText-ExtraboldItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-ExtraboldItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-ExtraboldItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-ExtraboldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text Book';
    src: url('../fonts/BlackerSansText-Book.eot');
    src: local('../Blacker Sans Text Book'), local('../fonts/BlackerSansText-Book'),
    url('../fonts/BlackerSansText-Book.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Book.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Book.woff') format('woff'),
    url('../fonts/BlackerSansText-Book.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Extrabold.eot');
    src: local('../Blacker Sans Text Extrabold'), local('../fonts/BlackerSansText-Extrabold'),
    url('../fonts/BlackerSansText-Extrabold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Extrabold.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Extrabold.woff') format('woff'),
    url('../fonts/BlackerSansText-Extrabold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Bold.eot');
    src: local('../Blacker Sans Text Bold'), local('../fonts/BlackerSansText-Bold'),
    url('../fonts/BlackerSansText-Bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Bold.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Bold.woff') format('woff'),
    url('../fonts/BlackerSansText-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text Book';
    src: url('../fonts/BlackerSansText-BookItalic.eot');
    src: local('../Blacker Sans Text Book Italic'), local('../fonts/BlackerSansText-BookItalic'),
    url('../fonts/BlackerSansText-BookItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-BookItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-BookItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-BookItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-ExtralightItalic.eot');
    src: local('../Blacker Sans Text Extralight Italic'), local('../fonts/BlackerSansText-ExtralightItalic'),
    url('../fonts/BlackerSansText-ExtralightItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-ExtralightItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-ExtralightItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-ExtralightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-LightItalic.eot');
    src: local('../Blacker Sans Text Light Italic'), local('../fonts/BlackerSansText-LightItalic'),
    url('../fonts/BlackerSansText-LightItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-LightItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-LightItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Extralight.eot');
    src: local('../Blacker Sans Text Extralight'), local('../fonts/BlackerSansText-Extralight'),
    url('../fonts/BlackerSansText-Extralight.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Extralight.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Extralight.woff') format('woff'),
    url('../fonts/BlackerSansText-Extralight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-MediumItalic.eot');
    src: local('../Blacker Sans Text Medium Italic'), local('../fonts/BlackerSansText-MediumItalic'),
    url('../fonts/BlackerSansText-MediumItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-MediumItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-MediumItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-HeavyItalic.eot');
    src: local('../Blacker Sans Text Heavy Italic'), local('../fonts/BlackerSansText-HeavyItalic'),
    url('../fonts/BlackerSansText-HeavyItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-HeavyItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-HeavyItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-HeavyItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Light.eot');
    src: local('../Blacker Sans Text Light'), local('../fonts/BlackerSansText-Light'),
    url('../fonts/BlackerSansText-Light.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Light.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Light.woff') format('woff'),
    url('../fonts/BlackerSansText-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Italic.eot');
    src: local('../Blacker Sans Text Italic'), local('../fonts/BlackerSansText-Italic'),
    url('../fonts/BlackerSansText-Italic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Italic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Italic.woff') format('woff'),
    url('../fonts/BlackerSansText-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Heavy.eot');
    src: local('../Blacker Sans Text Heavy'), local('../fonts/BlackerSansText-Heavy'),
    url('../fonts/BlackerSansText-Heavy.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Heavy.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Heavy.woff') format('woff'),
    url('../fonts/BlackerSansText-Heavy.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Thin.eot');
    src: local('../Blacker Sans Text Thin'), local('../fonts/BlackerSansText-Thin'),
    url('../fonts/BlackerSansText-Thin.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Thin.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Thin.woff') format('woff'),
    url('../fonts/BlackerSansText-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Regular.eot');
    src: local('../Blacker Sans Text Regular'), local('../fonts/BlackerSansText-Regular'),
    url('../fonts/BlackerSansText-Regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Regular.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Regular.woff') format('woff'),
    url('../fonts/BlackerSansText-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-ThinItalic.eot');
    src: local('../Blacker Sans Text Thin Italic'), local('../fonts/BlackerSansText-ThinItalic'),
    url('../fonts/BlackerSansText-ThinItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-ThinItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-ThinItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Medium.eot');
    src: local('../Blacker Sans Text Medium'), local('../fonts/BlackerSansText-Medium'),
    url('../fonts/BlackerSansText-Medium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Medium.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Medium.woff') format('woff'),
    url('../fonts/BlackerSansText-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}


@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-BlackItalic.eot');
    src: local('../Blacker Sans Text Black Italic'), local('../fonts/BlackerSansText-BlackItalic'),
    url('../fonts/BlackerSansText-BlackItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-BlackItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-BlackItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Black.eot');
    src: local('../Blacker Sans Text Black'), local('../fonts/BlackerSansText-Black'),
    url('../fonts/BlackerSansText-Black.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Black.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Black.woff') format('woff'),
    url('../fonts/BlackerSansText-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-BoldItalic.eot');
    src: local('../Blacker Sans Text Bold Italic'), local('../fonts/BlackerSansText-BoldItalic'),
    url('../fonts/BlackerSansText-BoldItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-BoldItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-BoldItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-ExtraboldItalic.eot');
    src: local('../Blacker Sans Text Extrabold Italic'), local('../fonts/BlackerSansText-ExtraboldItalic'),
    url('../fonts/BlackerSansText-ExtraboldItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-ExtraboldItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-ExtraboldItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-ExtraboldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text Book';
    src: url('../fonts/BlackerSansText-Book.eot');
    src: local('../Blacker Sans Text Book'), local('../fonts/BlackerSansText-Book'),
    url('../fonts/BlackerSansText-Book.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Book.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Book.woff') format('woff'),
    url('../fonts/BlackerSansText-Book.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Extrabold.eot');
    src: local('../Blacker Sans Text Extrabold'), local('../fonts/BlackerSansText-Extrabold'),
    url('../fonts/BlackerSansText-Extrabold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Extrabold.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Extrabold.woff') format('woff'),
    url('../fonts/BlackerSansText-Extrabold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Bold.eot');
    src: local('../Blacker Sans Text Bold'), local('../fonts/BlackerSansText-Bold'),
    url('../fonts/BlackerSansText-Bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Bold.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Bold.woff') format('woff'),
    url('../fonts/BlackerSansText-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text Book';
    src: url('../fonts/BlackerSansText-BookItalic.eot');
    src: local('../Blacker Sans Text Book Italic'), local('../fonts/BlackerSansText-BookItalic'),
    url('../fonts/BlackerSansText-BookItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-BookItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-BookItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-BookItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-ExtralightItalic.eot');
    src: local('../Blacker Sans Text Extralight Italic'), local('../fonts/BlackerSansText-ExtralightItalic'),
    url('../fonts/BlackerSansText-ExtralightItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-ExtralightItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-ExtralightItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-ExtralightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-LightItalic.eot');
    src: local('../Blacker Sans Text Light Italic'), local('../fonts/BlackerSansText-LightItalic'),
    url('../fonts/BlackerSansText-LightItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-LightItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-LightItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Extralight.eot');
    src: local('../Blacker Sans Text Extralight'), local('../fonts/BlackerSansText-Extralight'),
    url('../fonts/BlackerSansText-Extralight.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Extralight.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Extralight.woff') format('woff'),
    url('../fonts/BlackerSansText-Extralight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-MediumItalic.eot');
    src: local('../Blacker Sans Text Medium Italic'), local('../fonts/BlackerSansText-MediumItalic'),
    url('../fonts/BlackerSansText-MediumItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-MediumItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-MediumItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-HeavyItalic.eot');
    src: local('../Blacker Sans Text Heavy Italic'), local('../fonts/BlackerSansText-HeavyItalic'),
    url('../fonts/BlackerSansText-HeavyItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-HeavyItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-HeavyItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-HeavyItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Light.eot');
    src: local('../Blacker Sans Text Light'), local('../fonts/BlackerSansText-Light'),
    url('../fonts/BlackerSansText-Light.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Light.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Light.woff') format('woff'),
    url('../fonts/BlackerSansText-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Italic.eot');
    src: local('../Blacker Sans Text Italic'), local('../fonts/BlackerSansText-Italic'),
    url('../fonts/BlackerSansText-Italic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Italic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Italic.woff') format('woff'),
    url('../fonts/BlackerSansText-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Heavy.eot');
    src: local('../Blacker Sans Text Heavy'), local('../fonts/BlackerSansText-Heavy'),
    url('../fonts/BlackerSansText-Heavy.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Heavy.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Heavy.woff') format('woff'),
    url('../fonts/BlackerSansText-Heavy.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Thin.eot');
    src: local('../Blacker Sans Text Thin'), local('../fonts/BlackerSansText-Thin'),
    url('../fonts/BlackerSansText-Thin.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Thin.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Thin.woff') format('woff'),
    url('../fonts/BlackerSansText-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Regular.eot');
    src: local('../Blacker Sans Text Regular'), local('../fonts/BlackerSansText-Regular'),
    url('../fonts/BlackerSansText-Regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Regular.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Regular.woff') format('woff'),
    url('../fonts/BlackerSansText-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-ThinItalic.eot');
    src: local('../Blacker Sans Text Thin Italic'), local('../fonts/BlackerSansText-ThinItalic'),
    url('../fonts/BlackerSansText-ThinItalic.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-ThinItalic.woff2') format('woff2'),
    url('../fonts/BlackerSansText-ThinItalic.woff') format('woff'),
    url('../fonts/BlackerSansText-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Medium.eot');
    src: local('../Blacker Sans Text Medium'), local('../fonts/BlackerSansText-Medium'),
    url('../fonts/BlackerSansText-Medium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/BlackerSansText-Medium.woff2') format('woff2'),
    url('../fonts/BlackerSansText-Medium.woff') format('woff'),
    url('../fonts/BlackerSansText-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}


:root {
    --bezier: cubic-bezier(0.15, 0.6, 0.07, 1);
    --bezier-2: cubic-bezier(0, 0.6, 0.3, 1);
    --padding-inline: clamp(30px, 4vw, 80px);
    --padding-inline-double: calc(var(--padding-inline) * 2);
    --padding-inline-half: calc(var(--padding-inline) / 2);
    --padding-inline-third: calc(var(--padding-inline) / 3);
    --padding-block: clamp(80px, 7.5vw, 120px);
    --padding-block-triple: calc(var(--padding-block) * 3);
    --padding-block-double: calc(var(--padding-block) * 2);
    --padding-block-and-a-half: calc(var(--padding-block) * 1.5);
    --padding-block-half: calc(var(--padding-block) / 2);
    --padding-block-third: calc(var(--padding-block) / 3);
    --home-text-padding-inline: calc(10px + 0.8vw);
    --nav-border-gap: 0.5rem;
    --nav-sub-menu-padding-top: 1rem;
    --nav-sub-menu-transition-size: -10px;
    --nav-sub-item-marker-width: 4rem;
    --font-light: 'Blacker Sans Text';
    --font-regular: 'Blacker Sans Text';
    --font-medium: 'Blacker Sans Text';
    --font-bold: 'Blacker Sans Text';
    --font-styled: 'Blacker Sans Text';
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-styled-2: "ivarfine_light";
    --font-size: 16px;
    --parallax-offset: 100px;
    --call-button-height: 80px;
    --hero-image-overflow: 5%;
    --image-loading-animation-duration: 0.5s;
    --transition-duration: 0.7s;
    --card-z-index-transition-duration: 0.2s;
    /* --color-accent: #a37e41; */
    --color-accent: rgb(179, 179, 179);
    --color-accent-darker: hsl(37.06deg 42.94% 44.83%);
    --color-accent-2: hsl(37.06deg 10.65% 35.4%);
    --bg-color-main: #f6f4f2;
    --text-color: #222;
    --image-background-color: #e0dfde;
    --gray-background: rgba(0, 0, 0, 0.02);
    --dark-background: var(--text-color);
    --sub-menu-color: #fff;
    --article-bg-opacity: 0.07;
    font-family: var(--font-styled);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size);
    color: var(--text-color);
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.cursor-content .material-symbols-outlined,
.service-icons .material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 24;
    color: #595959;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
p,
a,
img,
button,
.title,
.service-icon,
.material-symbols-outlined,
.nav-item,
.carousel-pagination,
#cursor {
    user-select: none;
}

img:not(.no-background) {
    background-color: var(--image-background-color);
}

img:not(.loaded) {
    /* opacity:0 */
}

video.loaded,
img.loaded {
    animation: fade-in var(--image-loading-animation-duration) linear;
}

html.fullscreen *,
img[data-expandable]:not(.no-expand) {
    cursor: pointer;
}

#smooth-content {
    overflow: hidden;
}

#image-showcase {
    --cpv: 0%;
    --cph: 0%;
    --cpv-2: 100%;
    --cph-2: 100%;
    transition-property: background-color, opacity;
    transition-duration: 0.2s, 0.25s;
    transition-delay: 0s, 0.25s;
    transition-timing-function: linear, ease-out;
    position: fixed;
    inset: 0;
    background-color: transparent;
    pointer-events: none;
    z-index: 101;
    opacity: 0;
}

html.fullscreen #image-showcase {
    transition-duration: 0.2s, 0s;
    transition-delay: 0s;
    background-color: #000;
    pointer-events: all;
    opacity: 1;
}

#image-showcase img {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100 !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    background-color: transparent !important;
}

html.is-mobile #image-showcase img {
    height: 100% !important;
    width: 100% !important;
}

html:not(.is-mobile) #image-showcase[data-orientation="landscape"] img {
    width: 100% !important;
    height: auto !important;
    margin-block: auto !important;
}

html:not(.is-mobile) #image-showcase[data-orientation="portrait"] img {
    width: auto !important;
    height: 100% !important;
    margin-inline: auto !important;
}

html:not(.is-mobile) #image-showcase img {
    transform: var(--matrix);
    border-radius: var(--border-radius);
    clip-path: polygon(
            var(--cph) var(--cpv),
            var(--cph-2) var(--cpv),
            var(--cph-2) var(--cpv-2),
            var(--cph) var(--cpv-2)
    );
    animation-name: image-showcase-appear;
    animation-duration: 0.5s;
    animation-timing-function: var(--bezier);
    animation-fill-mode: both;
    will-change: border-radius, transform;
}

html:not(.is-mobile, .fullscreen) #image-showcase img {
    animation-name: image-showcase-disappear;
    animation-duration: 0.25s;
}

html.scrolled-after-image-showcase:not(.fullscreen) #image-showcase img {
    animation: none;
}

#cursor {
    transition-property: transform;
    transition-duration: 0.6s;
    transition-timing-function: var(--bezier-2);
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    height: 0;
    width: 0;
    color: #fff;
    font-family: var(--font-medium);
    font-size: 1rem;
    pointer-events: none;
    z-index: 102;
}

html:not(.mouse-moved) #cursor {
    display: none;
}

#cursor-shape {
    transition-property: transform, background-color, opacity;
    transition-duration: 0.6s;
    transition-timing-function: var(--bezier-2);
    transform: scale(0.6);
    opacity: 0;
    display: grid;
    place-content: center;
    position: absolute;
    height: 90px;
    width: 90px;
    text-align: center;
    background-color: var(--color-accent);
    border-radius: 100vw;
}

html:is([data-cursor], .fullscreen) #cursor-shape {
    background-color: var(--color-accent);
    opacity: 1;
}

html[data-cursor="article"] #cursor-shape,
html[data-cursor="close"] #cursor-shape,
html.fullscreen #cursor-shape,
html[data-cursor="link"] #cursor-shape {
    transform: translateY(-12px);
}

html[data-cursor="image-showcase"] #cursor-shape {
    transform: translate(-7px, -5px);
}

html[data-cursor="image-showgallery"] #cursor-shape {
    transform: translate(-7px, -5px);
}

html[data-cursor="scroll"] #cursor-shape {
    transform: translate(-10px, -15px);
}

html[data-cursor="owl-next"] #cursor-shape {
    transform: translate(-10px, -15px);
}

html[data-cursor="owl-prev"] #cursor-shape {
    transform: translate(-10px, -15px);
}

html[data-cursor="work_next"] #cursor-shape,
html[data-cursor="work"] #cursor-shape {
    transform: translateY(-20px);
}

.cursor-content {
    display: none;
}

.cursor-content[data-type="image-showcase"],
.cursor-content[data-type="owl-next"],
.cursor-content[data-type="owl-prev"],
.cursor-content[data-type="image-showgallery"],
.cursor-content[data-type="scroll"] {
    animation: scale-up 0.5s var(--bezier) both;
}

.cursor-content[data-type="link"],
.cursor-content[data-type="work"],
.cursor-content[data-type="work_next"],
.cursor-content[data-type="article"],
.cursor-content[data-type="close"] {
    animation: fade-in 0.3s linear both;
}

html.fullscreen .cursor-content[data-type="close"],
html[data-cursor="image-showcase"] .cursor-content[data-type="image-showcase"],
html[data-cursor="image-showgallery"]
.cursor-content[data-type="image-showgallery"],
html[data-cursor="scroll"] .cursor-content[data-type="scroll"],
html[data-cursor="owl-next"] .cursor-content[data-type="owl-next"],
html[data-cursor="owl-prev"] .cursor-content[data-type="owl-prev"],
html[data-cursor="work"] .cursor-content[data-type="work"],
html[data-cursor="work_next"] .cursor-content[data-type="work_next"],
html[data-cursor="article"] .cursor-content[data-type="article"],
html[data-cursor="link"] .cursor-content[data-type="link"] {
    display: block;
}

.cursor-content span.material-symbols-outlined {
    font-size: 3rem;
    pointer-events: none;
    color: white;
}

.image-wrapper {
    display: contents;
}

.image-wrapper > * {
    border-radius: inherit;
}

.image-loader {
    display: grid;
    place-items: center;
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.1);
    animation: pulse 2s infinite cubic-bezier(0.7, 0.31, 0.09, 0.39);
    pointer-events: none;
    z-index: -1;
}

section.dark-background .image-loader {
    background-color: rgba(255, 255, 255, 0.1);
}

img.loaded-animation-ended + .image-loader {
    display: none;
}

em {
    font-style: italic;
}

article
:where(:not(h3, img, video, #breadcrumbs-wrapper, #breadcrumbs-wrapper *)),
.selectable,
.selectable * {
    user-select: text;
}

article
:where(
    :not(h3, img, video, #breadcrumbs-wrapper, #breadcrumbs-wrapper *)
  )::selection,
:is(p, em)::selection,
.selectable::selection,
.selectable *::selection {
    background-color: var(--article-color, var(--color-accent));
    color: #fff;
}

#hero h1 > span:nth-child(2)::selection,
#hero h1 > span:nth-child(2) strong::selection,
#hero h1 > span:nth-child(3)::selection,
.image-and-text.small-text
.image-and-text__text
> p
> em:first-child::selection,
article .article-header.white-text :not(h3, img, video)::selection {
    background-color: #fff;
    color: var(--text-color);
}

.service-icon :is(h3, p)::selection {
    background-color: #fff;
    color: var(--color-accent);
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}

img,
picture,
svg,
video {
    display: block;
}

ul {
    list-style-type: none;
}

button {
    border: none;
    background: 0 0;
    color: inherit;
    cursor: pointer;
}

a {
    text-decoration: none;
    color: inherit;
}

a.button {
    transition-property: transform;
    transition-duration: 0.7s;
    transition-timing-function: var(--bezier);
    display: flex;
    align-items: center;
    column-gap: 0.5vw;
    flex-shrink: 0;
    flex-grow: 0;
    width: fit-content;
    font-weight: var(--font-weight-medium);
    background-color: var(--color-accent);
    color: #fff;
    padding: 1.3rem 2.5rem;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    a.button {
        padding: 1rem 1.8rem;
        font-size: 14px;
    }
}

html:not(.is-mobile) a.button:hover {
    transform: scale(1.05);
}

a.button.centered {
    margin-inline: auto;
}

a.button span.material-symbols-outlined:not(.padded) {
    margin-right: -0.4rem;
}

a.button span.material-symbols-outlined.padded {
    margin-left: -0.4rem;
    padding-right: 0.5rem;
}

body {
    background-color: var(--bg-color-main);
}

::-webkit-scrollbar {
    display: none;
}

header {
    /* position: fixed;
  display: flex;
  justify-content: space-between;
  top: 0;
  width: 100%;
  height: 0;
  display: flex;
  align-items: center;
  padding-left: var(--padding-inline);
  padding-right: var(--padding-inline-half);
  pointer-events: none;
  z-index: 100;
  padding-block: var(--padding-block-half);
  color: var(--section-color, --text-color); */
    position: fixed;
    display: flex;
    justify-content: space-between;
    top: 0;
    width: 100%;
    height: 0;
    display: flex;
    align-items: center;
    /*! padding-left: var(--padding-inline); */
    /*! padding-right: var(--padding-inline); */
    pointer-events: none;
    z-index: 100;
    padding-block: var(--padding-block-third);
    color: var(--section-color, --text-color);
    flex-direction: column;
}

html.header-color-dark header {
    color: #fff;
}

header > * {
    pointer-events: all;
}

#header-background {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: white;
    height: 125px;
}

section {
    position: relative;
}

#visualisation-3d .video-wide .image-wrapper {
    overflow: hidden;
}

#visualisation-3d .video-wide .image-wrapper img {
    width: 100%;
    height: 100%;
}

#content-start {
    position: absolute;
    top: 0;
    height: 50px;
    pointer-events: none;
}

#header-line {
    position: absolute;
}

nav > ul {
    display: flex;
    align-items: center;
}

#nav-button {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 1rem;
    z-index: 100;
}

#nav-button__icon-close {
    position: absolute;
    right: 0;
}

.hidden {
    display: none !important;
}

html.nav-opened #nav-button__icon-open,
html:not(.nav-opened) #nav-button__icon-close {
    opacity: 0;
}

nav {
    font-size: 0.8rem;
    font-family: var(--font-styled);
    text-transform: uppercase;
    letter-spacing: 0.08rem;
    white-space: nowrap;
    width: 100%;
    justify-content: center;
    display: flex;
    background: #eee;
    padding: 10px;
}

nav > ul > li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    counter-reset: nav-sub-item;
}

.nav-item {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    position: relative;
    font-weight: 300;
    padding: 5px 10px;
    padding-block: var(--nav-border-gap);
    font-family: 'Blacker Sans Text';
    font-size: 18px;
    color: #3c3c3c;
}

.nav-item#nav-services {
    z-index: 2;
}

.nav-item .material-symbols-outlined {
    font-size: 1.25rem;
}

html.is-mobile .nav-item .material-symbols-outlined {
    display: none;
}

.nav-item:not(a) {
    cursor: default;
}

.nav-item::after {
    transition: transform 0.2s ease-out;
    transform-origin: right;
    content: "";
    position: absolute;
    bottom: 0;
    left: var(--padding-inline-half);
    right: var(--padding-inline-half);
    height: 1px;
    background-color: var(--color-accent);
    transform: scaleX(0);
}

html:not(.is-mobile) nav > ul > li:hover > .nav-item::after {
    transform-origin: left;
}

.nav-item[aria-current="page"] {
    color: var(--color-accent);
}

html:not(.is-mobile) nav > ul > li:hover > .nav-item:not(#nav-services)::after,
.nav-item[aria-current="page"]::after {
    transform: scaleX(1);
}

nav > ul > li > ul {
    transition-property: opacity, transform, visibility;
    transition-duration: var(--transition-duration);
    transition-timing-function: var(--bezier);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: calc(100% + var(--nav-sub-menu-padding-top));
    background-color: var(--sub-menu-color);
    color: var(--text-color);
    padding-block: 0.5rem;
    border-radius: 3px;
    z-index: 10;
}

nav > ul > li > ul::before {
    content: "";
    position: absolute;
    bottom: 100%;
    height: var(--nav-sub-menu-padding-top);
    width: 100%;
}

nav > ul > li > ul::after {
    content: "";
    position: absolute;
    bottom: calc(100% - 1px);
    height: 10px;
    width: 15px;
    background-color: var(--sub-menu-color);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

nav > ul > li:not(.hoverable:hover) > ul {
    transform: translateY(var(--nav-sub-menu-transition-size));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

nav > ul > li > ul > li {
    align-self: stretch;
    counter-increment: nav-sub-item;
}

.nav-sub-item {
    position: relative;
    transition-property: color, opacity, transform;
    transition-duration: 0.3s, 0.2s, 0.3s;
    transition-delay: 0s, var(--delay, 0s), var(--delay, 0s);
    transition-timing-function: ease, linear, var(--bezier);
    display: block;
    white-space: nowrap;
    padding: 0.825rem 1.825rem;
    font-weight: 300;
    font-size: 14px;
    color: gray;
}

.nav-sub-item:not([aria-current="page"])::before,
.nav-sub-item:not([aria-current="page"])::after {
    opacity: 0.15;
    color: var(--text-color);
}

nav > ul > li:not(.hoverable:hover) .nav-sub-item {
    opacity: 0;
    transform: rotate(5deg) translateY(-5px);
    transition-delay: 0s, 0s, 0.3s;
}

li:nth-child(2) > .nav-sub-item {
    --delay: 40ms;
}

li:nth-child(3) > .nav-sub-item {
    --delay: 80ms;
}

li:nth-child(4) > .nav-sub-item {
    --delay: 120ms;
}

li:nth-child(5) > .nav-sub-item {
    --delay: 160ms;
}

li:nth-child(6) > .nav-sub-item {
    --delay: 200ms;
}

li:nth-child(7) > .nav-sub-item {
    --delay: 240ms;
}

li:nth-child(8) > .nav-sub-item {
    --delay: 280ms;
}

li:nth-child(9) > .nav-sub-item {
    --delay: 340ms;
}

.nav-sub-item[aria-current="page"],
html:not(.is-mobile) .nav-sub-item:hover {
    color: var(--color-accent);
}

@media (min-width: 1100px) {
    #nav-button {
        display: none;
    }
}

@media (max-width: 1099px) {
    #nav-button {
        display: flex;
        font-size: 14px;
    }

    #nav-button__icon-open,
    #nav-button__icon-close {
        transition-property: transform;
        transition-duration: 0.6s;
        transition-timing-function: var(--bezier);
        font-size: 32px;
    }

    html.nav-opened :is(#nav-button__icon-open, #nav-button__icon-close) {
        transform: rotate(-90deg);
    }

    nav > ul {
        transition-property: transform, opacity, visibility;
        transition-duration: 0.8s;
        transition-timing-function: var(--bezier);
        transform: translateY(100px);
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 15px;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        visibility: hidden;
        padding-block: var(--padding-block);
        padding-inline: var(--padding-inline);
        color: #fff;
        background-color: #fff;
        padding-top: var(--padding-block-and-a-half);
        opacity: 0;
        pointer-events: none;
        z-index: 99;
    }

    html.header-color-dark.nav-opened header,
    html.nav-opened header {
        color: var(--color-accent);
    }

    html.nav-opened nav > ul {
        transform: none;
        visibility: visible;
        opacity: 1;
        pointer-events: all;
    }

    .nav-item {
        font-size: 18px;
        color: var(--text-color);
    }

    .nav-item[aria-current="page"] {
        font-family: var(--font-bold);
    }

    .nav-item .material-symbols-outlined {
        display: none;
    }

    html:not(.is-mobile) nav > ul > li:hover > .nav-item#nav-services::after {
        transform: scaleX(1);
    }

    .nav-opened nav > ul > li > ul {
        display: block;
        position: relative;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0px) !important;
        bottom: unset !important;
        top: unset !important;
        pointer-events: all !important;
    }

    nav > ul > li > ul li a {
        text-align: center !important;
    }
}

.footer-logo > span, #logo {
    display: flex;
    column-gap: calc(0.5 * var(--font-size));
    font-size: 52px;
    /*font-family: 'Blacker Sans Text';*/
    font-family: 'Times New Roman', sans, serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    z-index: 100;
    font-weight: 300;
    color: white;

}

#logo {
    --font-size: 1.25rem;
    margin-bottom: 30px;
}

#logo .space {
    display: none;
}

.footer-logo {
    --font-size: clamp(2rem, 2vw, 3rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-inline: auto;
    color: #fff;
}

.footer-logo > span span,
#logo span:last-child {
    /*font-family: 'Blacker Sans Text';*/
    /* font-size: 36px; */
    font-family: 'Times New Roman', sans, serif;
    font-size: 44px;
    font-weight: 300;
    color: gray;
}

#logo span:first-child {
    /*font-family: 'Blacker Sans Text';*/
    /* font-size: 36px; */
    font-family: 'Times New Roman', sans, serif;
    font-size: 44px;
    font-weight: 400;
    color: #1e1e1e;
}

.footer-logo > span:last-child {
    font-family: 'Times New Roman', sans, serif;
    font-size: calc(var(--font-size) * 0.5);
    flex-direction: column;
    align-items: center;
    letter-spacing: calc(var(--font-size) * 0.16);
    padding-top: calc(var(--font-size) * 0.2);
    color: gray;
    font-weight: 400;
}

footer {
    --padding: var(--padding-block-and-a-half);
    position: relative;
    background-color: #272727;
    font-family: var(--font-regular);
    letter-spacing: 0.5px;
}

footer:after {
    content: "";
    position: absolute;
    top: calc(100% - 2px);
    left: 0;
    width: 100%;
    height: var(--call-button-height);
    background-color: var(--dark-background);
    pointer-events: none;
}

.footer-container {
    padding-block: var(--padding);
}

.footer-wrapper {
    display: flex;
    flex-direction: column;
    row-gap: var(--padding);
}

.footer-row {
    display: flex;
    flex-direction: row;
    row-gap: var(--padding);
}

.footer-row:nth-child(2) {
    padding-left: var(--padding);
}

.footer-col {
    flex-grow: 1;
}

.footer-col:nth-last-child(2) {
    flex-grow: 0;
}

.footer-col:last-child {
    flex-grow: 3;
}

button#call-button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--call-button-height);
    font-weight: var(--font-weight-semibold);
    background-color: var(--color-accent);
    gap: 10px;
    z-index: 99;
}

@media (max-width: 1024px) {
    footer {
        --padding: var(--padding-block);
    }

    .footer-wrapper {
        row-gap: 0;
    }

    .footer-row:nth-child(2) {
        padding-inline: var(--padding);
    }

    .footer-logo,
    .footer-logo-symb-wrapper {
        /*! display:none */
        margin-bottom: 60px;
        font-size: 20px !important;
    }
}

@media (max-width: 749px) {
    .footer-row:nth-child(2) {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .footer-row:nth-child(2) .footer-col:nth-child(3) {
        grid-column: span 2;
    }

    .footer-container {
        padding-bottom: calc(var(--padding) + var(--call-button-height));
    }

    header {
        pointer-events: all;
    }

    #header-background {
        background-color: var(--bg-color-main);
    }

    html.header-color-dark header {
        color: #fff;
    }

    html.header-color-dark #header-background {
        background-color: var(--dark-background);
    }
}

@media (min-width: 750px) {
    #call-button-link {
        display: none;
    }
}

@media (max-width: 549px) {
    .footer-row:nth-child(2) {
        padding-inline: var(--padding-inline-half);
    }
}

.footer-logo-symb {
    display: flex;
    justify-content: center;
    height: clamp(8rem, 16vw, 15rem);
}

.footer-logo-symb svg {
    fill: #1b1b1b;
    width: auto;
    height: 235px;
}

.footer-logo-symb iframe {
    height: 300px;
    max-width: 360px;
}

.footer-col__title {
    display: inline-block;
    font-family: var(--font-bold);
    padding-bottom: 1.5rem;
    color: white;
    opacity: 1;
    font-weight: bold;
}

footer ul {
    display: flex;
    flex-direction: column;
}

footer ul li a:not(.no-pointer-events),
footer ul li.no-link {
    position: relative;
    display: inline-block;
    transition-property: opacity;
    transition-duration: 0.3s;
    transition-timing-function: linear;
    line-height: 1;
    opacity: 1;
    padding-inline: 1rem;
    margin-left: -1rem;
    padding-block: 0.5em;
    color: white;
    font-weight: 300;
    font-size: 16px;
}

footer ul li#footer-address,
footer ul li#footer-identifier,
footer ul li#footer-since {
    font-size: 75%;
}

footer ul li#footer-identifier,
footer ul li#footer-identifier a {
    cursor: text;
}

footer ul li#footer-since {
    padding-top: 1.5em;
}

footer ul li a[aria-current="page"],
html:not(.is-mobile) footer ul li a:hover,
html:not(.is-mobile) footer ul li.no-link:hover {
    opacity: 1;
}

footer ul li a[aria-current="page"]::after {
    content: "";
    position: absolute;
    width: calc(100% - 2rem);
    left: 1rem;
    bottom: 0.5rem;
    border-bottom: 1px solid #fff;
    pointer-events: none;
}

footer ul li a .material-symbols-outlined {
    font-size: 1rem;
    padding-right: 0.75rem;
}

.overflow-hidden {
    overflow: hidden;
}

.no-pointer-events {
    pointer-events: none;
}

.z-background {
    z-index: -10;
}

.content-centered {
    display: grid;
    place-content: center;
}

.cover {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.bg-image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
}

strong {
    font-weight: 400;
}

:is(h1, h2, p) strong {
    font-family: var(--font-bold);
}

h1.page-title {
    font-size: clamp(2rem, 7vw, 6rem);
    text-transform: uppercase;
    text-align: center;
}

h2 {
    max-width: 830px;
    text-transform: none;
}

h2 span {
    font-size: 150%;
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
}

.title-and-text__text > p,
.image-and-text__text > p,
.title,
h2,
h3 {
    text-wrap: wrap;
}

.image-and-text__text > p > em > strong > span.material-symbols-outlined {
    font-size: 1.4rem;
    vertical-align: text-bottom;
}

#services .title,
section:not(#services) .image-and-text h2 {
    text-wrap: unset;
}

#services .title {
    padding-bottom: var(--padding-inline-third);
    font-size: calc(2rem + 1svh);
    font-family: var(--font-light);
    line-height: 1.05;
    text-wrap: nowrap;
    font-weight: 500;
    color: #1e1e1e;
}

#services .image-and-text__text {
    max-width: unset;
}

#services h2 {
    width: 60ch;
    padding-right: var(--padding-inline-double);
}

article
:where(:not(h3, img, video, #breadcrumbs-wrapper, #breadcrumbs-wrapper *)),
.title-and-text__text > p,
.image-and-text__text > p,
h2 {
    font-size: 18px;
    letter-spacing: 0.2px;
}

.article br,
article a br {
    display: none;
}

.articles-grid__title br {
    display: initial;
}

.title-and-text__text > p,
.image-and-text__text > p,
h2 {
    line-height: 1.8;
    font-family: var(--font-styled);
    font-weight: var(--font-weight-light);
    color: #1e1e1e;
    margin-bottom: 20px;
    text-align: justify;
}

article
:where(:not(h3, img, video, #breadcrumbs-wrapper, #breadcrumbs-wrapper *)),
.image-and-text.small-text .image-and-text__text > :is(p, em) {
    font-family: var(--font-light);
    line-height: 1.5;
}

.image-and-text.small-text .image-and-text__text > p > em:first-child {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 0.9rem;
    width: fit-content;
    border-radius: 4px;
    padding: 3px 7px 3px 5px;
    background: hsl(37.06deg 45.13% 55.69%);
    color: #fff;
    letter-spacing: 1.3px;
    margin-top: -0.6rem;
}

.h5 {
    font-size: clamp(24px, 1.2vw, 18px);
    font-family: var(--font-regular);
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 5px;
    padding-bottom: 30px;
    font-weight: 500;
}

section > .h5 {
    text-align: center;
}

.image-and-text__text {
    max-width: min(36ch, 28vw);
}

.image-and-text.no-image {
    padding-inline: var(--padding-inline);
}

.image-and-text.no-image .image-and-text__text:last-child {
    text-wrap: nowrap;
    padding: 0 !important;
}

.image-and-text.no-image .image-and-text__text {
    max-width: 60ch !important;
}

h3.title-and-text__title {
    font-family: var(--font-regular);
    font-size: clamp(1.5rem, 3svh, 2rem);
    text-transform: uppercase;
}

.image-and-text__text h1 {
    font-family: var(--font-light);
    font-size: min(96px, 6vmax);
    hyphens: auto;
    line-height: min(96px, 6vmax);
    text-transform: uppercase;
    padding-bottom: var(--padding-inline-half);
    margin-left: -0.4vw;
}

h3.section-title,
.image-and-text__text :is(h3, .title) {
    text-transform: uppercase;
}

.image-and-text__text :is(h3, .title) {
    font-size: calc(2rem + 1svh);
    font-family: var(--font-light);
    font-weight: 500;
    position: relative;
}

.member .image-and-text__text :is(h3, .title) {
    font-size: 20px;
    font-family: var(--font-light);
    padding-top: 20px;
    padding-bottom: 10px !important;
}

h3.section-title {
    font-size: calc(2rem + 1svh);
    font-family: var(--font-bold);
    color: #1e1e1e;
    font-weight: 500;
}

h3.title-and-text__title {
    text-align: right;
}

h3.section-title:not(.no-padding-bottom) span,
.image-and-text:not(.no-image) .image-and-text__text :is(h3, .title) span {
    font-size: 16px;
    color: var(--color-accent);
    display: block;
    margin-bottom: 10px;
}

h3.section-title:not(.no-padding-bottom),
.image-and-text:not(.no-image) .image-and-text__text :is(h3, .title) {
    padding-bottom: var(--padding-block-third);
}

h3.section-title {
    text-align: center;
}

.title-and-text__text > a,
.image-and-text__text > a {
    width: fit-content;
    margin-top: var(--padding-block-half);
}

.article-content p {
    position: relative;
    font-size: 18px;
    font-weight: 300;
    color: gray;
    letter-spacing: 0.2px;
    line-height: 1.2;
    margin-bottom: 20px;
}

#contact h2::after,
.article-content > :is(p, em):last-child::after,
.image-and-text__text > :is(p, em):last-child::after {
    content: "";
    position: absolute;
    bottom: calc(var(--padding-inline) * -1);
    width: 25%;
    height: 1px;
    background-color: var(--color-accent);
    /*! border-right: 1px solid var(--color-accent); */
}

.article-content > :is(p, em):last-child::after,
.image-and-text:not(.text-align-right)
.image-and-text__text
> :is(p, em):last-child::after {
    left: 0;
}

.image-and-text.text-align-right
.image-and-text__text
> :is(p, em):last-child::after {
    right: 0;
}

.images-sliding-rows {
    display: flex;
    flex-direction: column;
    row-gap: var(--padding-inline-third);
}

.images-sliding-rows__row {
    display: flex;
    column-gap: var(--padding-inline-third);
    height: max(24svh, 12vw);
}

.images-sliding-rows__row[data-direction="left"] {
    justify-content: flex-start;
}

.images-sliding-rows__row[data-direction="right"] {
    justify-content: flex-end;
}

.video-wide .image-wrapper,
.images-grid .image-wrapper,
.icons-and-image .image-wrapper,
.centered-image .image-wrapper,
.centered-images .image-wrapper,
.overlapping-images .image-wrapper,
.two-images .image-wrapper,
.three-images .image-wrapper,
.rounded-images .image-wrapper,
.full-width-image .image-wrapper,
.article-header .image-wrapper,
.article-header__content .image-wrapper,
.images-sliding-rows__row .image-wrapper {
    display: block;
    position: relative;
}

.centered-images .image-wrapper {
    height: fit-content;
}

.images-sliding-rows__row .image-wrapper {
    width: 100%;
    border-radius: 7px;
    overflow: hidden;
}

.images-sliding-rows__row a {
    display: contents;
}

.images-sliding-rows__row img {
    transition-property: transform, box-shadow;
    transition-duration: var(--transition-duration);
    transition-timing-function: var(--bezier);
    height: auto;
    width: 150%;
    box-shadow: 0 0 transparent;
    cursor: pointer;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

html:not(.is-mobile) .images-sliding-rows__row img:hover {
    transform: scale(1.1);
    box-shadow: 0 20px 30px -14px rgba(0, 0, 0, 0.2);
}

.images-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    max-width: 1500px;
    margin-inline: auto;
    gap: 3px;
    overflow: hidden;
}

.images-grid .image-wrapper {
    height: 100%;
    width: 100%;
}

.images-grid .image-wrapper.wide {
    grid-column: span 2;
}

html:not(.is-mobile) .images-grid .image-wrapper {
    aspect-ratio: 3/4;
}

html:not(.is-mobile) .images-grid .image-wrapper.wide {
    aspect-ratio: 3/2;
}

.images-grid img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.video-wide {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

.video-wide video {
    height: 35vw;
    object-fit: contain;
}

.video-full-width video {
    height: auto;
    width: 100%;
    object-fit: cover;
}

video:not(.loaded) {
    visibility: hidden;
    position: absolute;
}

video.loaded + .video-alt-image {
    display: none;
}

.title-and-text {
    display: flex;
    justify-content: center;
    column-gap: var(--padding-inline);
    row-gap: var(--padding-block-third);
}

h3.title-and-text__title {
    max-width: 15ch;
}

h4 {
    display: flex;
    flex-direction: column;
    font-family: var(--font-styled);
    font-size: min(3vw, 75px + 1vw);
    font-weight: 300;
}

h4 strong {
    font-size: 160%;
    text-transform: uppercase;
    color: var(--color-accent);
    font-style: normal;
    padding-left: 1vw;
    position: relative;
    top: 15px;
}

h4 div span:nth-child(2) {
    margin-left: 20vw;
}

#contact h4 {
    margin-inline: auto;
}

#contact h4,
#contact h4 span {
    width: fit-content;
    font-weight: 200;
}

#contact h4 div span:nth-child(2) {
    margin-left: 10vw;
}

#contact h2::after {
    bottom: -20px;
    right: 0;
}

#contact .contact-buttons {
    display: flex;
    border-left: 1px solid var(--color-accent);
    padding-left: 3.2vw;
}

section + #contact {
    padding-top: var(--padding-block);
}

@media (min-width: 1200px) {
    #contact h2 {
        position: relative;
        text-align: right;
    }

    #contact .text-and-button {
        justify-content: center;
    }

    #contact .contact-buttons {
        flex-direction: column;
    }
}

@media (max-width: 1199px) {
    #logo span:first-child,
    #logo span:last-child {
        font-size: 24px;
    }

    #contact h2:after {
        display: none;
    }

    #contact .text-and-button {
        align-content: center;
        padding-top: 0 !important;
        padding-bottom: 0;
    }

    #contact .contact-buttons {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
}

mark {
    font-family: var(--font-bold);
    background: repeat 0 var(--color-accent);
    text-decoration: none;
    color: #fff;
    padding: 2px 8px;
    display: inline-block;
    border-radius: 2px;
}

.overflow-hidden {
    overflow: hidden;
}

.uppercase {
    text-transform: uppercase;
}

.padding-block {
    padding-block: var(--padding-block);
}

.padding-block-triple {
    padding-block: var(--padding-block-triple);
}

.padding-block-double {
    padding-block: var(--padding-block-double);
}

.padding-block-half {
    padding-block: var(--padding-block-half);
}

.padding-block-third {
    padding-block: var(--padding-block-third);
}

.padding-top {
    padding-top: var(--padding-block);
}

.padding-top-triple {
    padding-top: var(--padding-block-triple);
}

.padding-top-double {
    padding-top: var(--padding-block-double);
}

.padding-top-and-a-half {
    padding-top: calc(var(--padding-block-and-a-half));
}

.padding-top-half {
    padding-top: var(--padding-block-half);
}

.padding-top-third {
    padding-top: var(--padding-block-third);
}

.margin-top {
    margin-top: var(--padding-block);
}

.margin-top-double {
    margin-top: var(--padding-block-double);
}

.margin-bottom {
    margin-bottom: var(--padding-block);
}

.margin-bottom-double {
    margin-bottom: var(--padding-block-double);
}

.margin-bottom-half {
    margin-bottom: var(--padding-block-half);
}

.margin-bottom-and-a-half {
    margin-bottom: var(--padding-block-and-a-half);
}

.padding-inline {
    padding-inline: var(--padding-inline);
}

.padding-inline-double {
    padding-inline: var(--padding-inline-double);
}

.padding-bottom {
    padding-bottom: var(--padding-block);
}

.padding-bottom-triple {
    padding-bottom: var(--padding-block-triple);
}

.padding-bottom-double {
    padding-bottom: var(--padding-block-double);
}

.padding-bottom-half {
    padding-bottom: var(--padding-block-half);
}

.padding-bottom-third {
    padding-bottom: var(--padding-block-third);
}

@media (max-width: 1024px) {
    .padding-top-triple,
    .padding-top-double:not(html[data-page-type="home"] #realisations) {
        padding-top: var(--padding-block);
    }

    .padding-block-triple,
    .padding-block-double {
        padding-block: var(--padding-block);
    }
}

.white-text {
    color: #fff;
    -webkit-font-smoothing: antialiased;
}

.gray-background {
    background-color: var(--gray-background);
}

.color-accent-background {
    background-color: var(--color-accent);
}

.color-accent-background-darker {
    background-color: var(--color-accent-darker);
}

.dark-background {
    background-color: var(--dark-background);
}

section.dark-background + section.dark-background {
    margin-top: -1px;
}

section.dark-background
+ section.dark-background:is(.padding-top-double, .padding-block-double) {
    padding-top: var(--padding-block-half);
}

.foreground {
    position: relative;
    z-index: 10;
}

.full-width-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.centered-image .image-wrapper {
    width: 50%;
    margin-inline: auto;
}

.centered-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.centered-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--padding-block-third);
}

.overlapping-images img,
.two-images img,
.three-images img,
.centered-images img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

html[data-page-type="articles"] article .three-images img {
    height: 100%;
    aspect-ratio: 1/1;
}

.rounded-images .image-wrapper {
    border-radius: 100vw;
}

.two-images,
.three-images {
    display: grid;
    gap: var(--padding-block-third);
}

.two-images {
    grid-template-columns: 1fr 1fr;
}

.three-images {
    grid-template-columns: 1fr 1fr 1fr;
}

.overlapping-images {
    display: flex;
    align-items: end;
}

.overlapping-images .image-wrapper:first-child {
    width: 0;
    flex-grow: 5;
}

.overlapping-images .image-wrapper:nth-child(2) {
    transform: translate(-50%, 50%);
    width: 0;
    flex-grow: 2;
}

.text-and-button {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: var(--padding-inline);
    row-gap: var(--padding-block-half);
    margin-inline: auto;
    width: fit-content;
    z-index: 1;
    max-width: 78vw;
    width: 100%;
    margin-inline: auto;
    z-index: 1;
    max-width: 78vw;
    padding-left: 0;
    padding-right: 0;
}

.text-and-button h2 {
    margin-right: 0vw;
}

.teams.image-and-text {
    column-gap: 0;
    flex-wrap: wrap;
    row-gap: 0;
    justify-content: space-between;
}

.teams.image-and-text .member {
    width: 33.3%;
}

.image-and-text {
    display: flex;
    /* align-items: center; */
    row-gap: var(--padding-inline);
    column-gap: var(--padding-block);
    position: relative;
}

.image-and-text.aligned-top {
    align-items: start;
}

.image-and-text.inverted {
    flex-direction: row-reverse;
}

.image-and-text.text-align-right {
    text-align: right;
}

.image-and-text__image {
    position: relative;
    width: 100%;
}

.image-and-text__image__wrapper {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.member .image-and-text__image:not(.auto-height) {
    height: calc(max(100svh, 50vw) - var(--padding-block) * 5);
}

.image-and-text__image:not(.auto-height) {
    height: calc(max(100svh, 55vw) - var(--padding-block) * 2);
}

.work-title {
    transition-property: color, background-color;
    transition-duration: 0.3s;
    position: absolute;
    font-size: 16px;
    font-family: var(--font-styled);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-size: 19px;
    white-space: nowrap;
    padding-block: 20px;
    z-index: 2;
    font-weight: 300;
    color: gray;
}

#hero .work-title {
    pointer-events: all;
    padding: var(--padding-inline-half);
    bottom: -1px;
    left: -1px;
    color: var(--bg-color-main);
    border-top-right-radius: 7px;
}

html:not(.is-mobile) #hero .work-title:hover,
html:not(.is-mobile) .image-and-text__image:hover .work-title {
    color: var(--color-accent);
}

html:not(.is-mobile) #hero .work-title:hover {
    background-color: rgba(255, 255, 255, 0.9);
}

.image-and-text img {
    height: auto;
    width: 100%;
}

.image-and-text:first-child + .image-and-text,
:not(.image-and-text) + .image-and-text + .image-and-text {
}

.background-icon {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
    z-index: -1;
}

.background-icon .material-symbols-outlined {
    --font-size: min(750px, max(45vw, 60svh));
    font-size: var(--font-size);
    color: #fff;
    font-variation-settings: "FILL" 0, "wght" 100, "GRAD" -25, "opsz" 48;
}

@media (min-width: 1025px) {
    .title-and-text__text {
        max-width: 43ch;
    }

    .image-and-text.centered:not(.inverted) .image-and-text__text {
        position: relative;
    }

    .image-and-text.centered.inverted .image-and-text__text {
        position: relative;
    }

    .image-and-text:first-child + .image-and-text,
    :not(.image-and-text) + .image-and-text + .image-and-text {
    }

    .image-and-text.small-text:not(.inverted) {
        padding-right: var(--padding-inline);
    }

    .centered-images .image-wrapper:first-child {
        margin-left: 10vw;
    }
}

@media (min-width: 1250px) {
    html:not(.is-mobile) .icons-and-image {
        transform: rotate(0deg);
    }

    html:not(.is-mobile) .icons-and-image:not(.contact)::before {
        content: "";
        position: absolute;
        inset: 0 -50%;
        background-color: var(--color-accent-darker);
    }

    html:not(.is-mobile) .icons-and-image .service-icons {
        transform: rotate(0deg);
    }
}

@media (min-width: 1200px) {
    .image-and-text:not(.small-text, .inverted, .centered) {
        padding-right: var(--padding-inline-double);
    }

    .teams.image-and-text:not(.inverted) .work-title {
        transform: rotate(-90deg) translateY(100%);
        transform-origin: bottom left;
        left: -50px;
        bottom: 0;
        color: #c19a5b;
    }

    .teams.image-and-text.inverted .work-title {
        transform: rotate(-90deg);
        transform-origin: bottom left;
        left: 0;
        bottom: 45px;
    }

    .image-and-text:not(.inverted) .work-title {
        transform: rotate(-90deg) translateY(100%);
        transform-origin: bottom left;
        left: 100%;
        bottom: 0;
    }

    .image-and-text.inverted .work-title {
        transform: rotate(-90deg);
        transform-origin: bottom left;
        left: 0;
        bottom: 0;
    }
}

@media (min-width: 1500px) {
    .image-and-text:first-child + .image-and-text,
    :not(.image-and-text) + .image-and-text + .image-and-text {
    }

    .image-and-text.small-text:not(.inverted, .centered) {
        padding-right: var(--padding-inline-double);
    }
}

.image-and-text:first-child + .image-and-text:last-child,
:not(.image-and-text) + .image-and-text + .image-and-text:last-child {
    padding-bottom: var(--padding-block);
    padding-top: var(--padding-block);
}

@media (max-width: 1199px) {
    .image-and-text {
        column-gap: var(--padding-inline);
    }

    .image-and-text:not(.inverted) .work-title {
        /*! right:0; */
    }

    .image-and-text.inverted .work-title {
        left: 0;
    }
}

@media (min-width: 1025px) {
    h3.section-title strong,
    .image-and-text__text strong {
        font-style: italic;
    }

    .teams.image-and-text.centered .image-and-text__text {
        max-width: 45ch;
    }

    .image-and-text.centered .image-and-text__text {
        max-width: 80ch;
    }

    .teams.image-and-text.centered {
        justify-content: center;
    }

    .image-and-text.centered {
        justify-content: center;
    }

    .image-and-text.centered .image-and-text__image {
        width: auto;
    }

    .image-and-text.centered .image-and-text__image img {
        height: 100%;
        width: auto;
        max-width: 100%;
    }
}

@media (max-width: 1024px) {
    .title-and-text {
        flex-direction: column;
    }

    h3.title-and-text__title {
        text-align: left;
    }

    .image-and-text__text .h5 {
        padding-bottom: var(--padding-block-third);
    }

    .image-and-text {
        padding-inline: 0;
    }

    .image-and-text__image {
        position: relative;
    }

    html[data-page-type="work"] .image-and-text__image {
        width: calc(100% + var(--padding-inline) * 2);
        margin-left: calc(var(--padding-inline) * -1);
    }

    .member .image-and-text__image:not(.auto-height) {
        height: calc(max(45svh, 50vw));
    }

    .teams.image-and-text {
        flex-direction: row;
        padding-inline: var(--padding-inline);
    }

    .teams.image-and-text .member {
        width: 100%;
        padding-bottom: var(--padding-block-half);
    }

    .image-and-text__image.auto-height,
    .image-and-text__image:not(.auto-height) {
        height: auto;
        position: relative;
    }

    .image-and-text,
    .image-and-text.inverted {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    html[data-page-type="work"] .image-and-text {
        flex-direction: column;
    }

    .image-and-text__text {
        max-width: unset;
        text-align: left;
        padding: 0 !important;
    }

    .image-and-text__text :is(h3, .title) {
        font-size: calc(1.5rem + 1vw);
        font-family: var(--font-medium);
    }

    .image-and-text__text > p {
        text-wrap: unset;
    }

    .image-and-text__text > :is(p, em):last-child::after {
        display: none;
    }

    .image-and-text__text > a {
        margin-top: var(--padding-block-half);
        margin-bottom: var(--padding-block-third);
    }

    h4 {
        padding-bottom: var(--padding-block-half);
        font-size: min(7vw, 65px + 1.5vw);
    }

    #a-propos h4 {
        font-size: min(9vw, 65px + 1.5vw);
    }

    .image-and-text:not(.inverted) .work-title,
    .image-and-text.inverted .work-title {
        left: -65px;
        /*! padding-block:6px; */
        transform: rotate(-90deg);
        bottom: 20px;
        display: none;
    }

    .work-title {
        font-size: 20px;
    }
}

@media (max-width: 749px) {
    .centered-image .image-wrapper {
        width: 100%;
    }

    .centered-images .image-wrapper:first-child {
        margin-left: 0;
    }

    html[data-page-type="work"] .three-images {
        grid-template-columns: 1fr 1fr;
    }

    html[data-page-type="work"] .three-images .image-wrapper:first-child {
        grid-column: span 2;
    }

    .centered-images .image-wrapper:first-child {
        margin-left: 0;
    }

    html[data-page-type="work"]
    section:is(
      .full-width-image,
      .centered-image,
      .centered-images,
      .three-images
    ) {
        margin: 0;
        padding-bottom: 0;
        padding-top: var(--padding-block-third) !important;
    }
}

.card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 1vw;
    overflow: hidden;
}

.card__image {
    position: relative;
    flex-grow: 1;
    overflow: hidden;
    margin-bottom: -1px;
    pointer-events: none;
}

h3.card__text {
    display: grid;
    place-items: center;
    position: relative;
    min-height: 4rem;
    font-family: var(--font-regular);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    text-align: center;
    padding: 0.7rem;
    background-color: var(--color-accent-2);
    z-index: 1;
    pointer-events: none;
}

.image-and-text__image img,
img.cover,
img.parallax {
    object-fit: cover;
    object-position: center;
    padding: 0;
}

.parallax {
    position: absolute;
    bottom: 0;
    left: 0;
    height: calc(100% + var(--parallax-offset));
    width: 100%;
}

@media (max-width: 1024px) {
    [data-speed],
    .parallax,
    .no-animations-mobile {
        transform: none !important;
        translate: none !important;
        rotate: none !important;
        scale: none !important;
        padding-inline: var(--padding-inline-half);
    }

    .parallax {
        position: relative;
        bottom: unset;
        left: unset;
        height: 100%;
        width: 100%;
    }
}

p.tag-line {
    padding-top: 2rem;
    font-size: 1rem;
    font-family: var(--font-medium) !important;
    position: relative;
}

span.num-divider {
    position: relative;
    display: inline-block;
    width: 1.5ch;
    padding-left: 5px;
}

span.num-divider::before {
    content: "";
    width: 50%;
    display: inline-block;
    border-bottom: 2px solid;
}

#hero {
    width: 100%;
    overflow: hidden;
}

#hero-bg::after {
    transition-property: opacity;
    transition-duration: var(--image-loading-animation-duration);
    content: "";
    position: absolute;
    inset: 0 calc(var(--hero-image-overflow) * -1) 0;
    background: linear-gradient(
            7deg,
            hsl(37.06deg 65.26% 14.08%/50%) 0%,
            transparent 35%
    );
}

#hero.padding-top #hero-bg::before {
    transition-property: opacity;
    transition-duration: var(--image-loading-animation-duration);
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            90deg,
            hsl(37.06deg 65.26% 14.08%/30%),
            transparent 50%
    ),
    linear-gradient(195deg, hsl(37.06deg 65.26% 14.08%/30%), transparent 50%);
    z-index: 1;
}

#hero.gradient-shadow:not(:has(img.loaded)) #hero-bg::after {
    opacity: 0;
}

#hero-bg {
    position: relative;
    cursor: pointer;
}

#hero-bg img {
    max-height: 80svh;
    width: 100%;
    object-fit: cover;
    object-position: 17% 57%;
}

#hero.padding-top #hero-bg img {
    max-height: max(50svh, 28vw);
}

#hero.padding-top #hero-text-wrapper {
    padding-inline: calc(
            var(--padding-inline) * 2 - var(--home-text-padding-inline)
    );
}

#hero #breadcrumbs-wrapper {
    position: absolute;
    width: 100%;
    z-index: 10;
}

#breadcrumbs {
    display: flex;
    font-family: var(--font-regular);
    letter-spacing: 2px;
    font-size: 0.7rem;
    padding-bottom: 30px;
    text-transform: uppercase;
    overflow: hidden;
}

#hero #breadcrumbs {
    position: absolute;
    top: 0;
    right: var(--padding-inline);
    color: #fff;
    font-size: 0.8rem;
    padding: 20px;
    pointer-events: all;
    z-index: 1;
}

#breadcrumbs li,
#breadcrumbs li a {
    white-space: nowrap;
}

#breadcrumbs.article-breadcrumbs li a {
    color: var(--color-accent);
}

.article-header:not(.white-text) #breadcrumbs li a {
    color: var(--article-color);
}

.article-header.white-text #breadcrumbs li a {
    color: #fff;
}

html:not(.is-mobile) #breadcrumbs.article-breadcrumbs li:has(a:hover) {
    opacity: 1;
}

article[data-type="article"] #breadcrumbs-wrapper {
    margin-bottom: -17px;
}

article[data-type="article"] #breadcrumbs {
    padding-bottom: 0;
}

.article-time,
.article-time * {
    font-size: 0.9rem;
    margin-bottom: -0.5rem;
}

#breadcrumbs li:last-child {
    text-overflow: ellipsis;
    overflow: hidden;
}

#breadcrumbs li:not(:first-child):before {
    content: "/";
    padding-inline: 10px;
}

#hero #breadcrumbs li:not(:first-child):before {
    padding-inline: 10px;
}

@media (min-width: 830px) {
    #hero-bg {
        margin-inline: var(--padding-inline);
    }

    #hero:not(.padding-top) #hero-bg {
        margin-top: var(--padding-block);
        margin-left: calc(var(--padding-inline) * 3);
    }
}

@media (max-width: 829px) {
    #hero-bg img {
        max-height: 66svh;
    }

    #hero.padding-top #hero-bg::before {
        background: linear-gradient(
                135deg,
                hsl(37.06deg 65.26% 14.08%/58%),
                transparent 76%
        );
    }

    #hero.padding-top #hero-text-wrapper {
        padding-inline: calc(
                var(--padding-inline) - var(--home-text-padding-inline)
        );
    }
}

@media (max-width: 549px) {
    #hero-bg img {
        object-position: 45% 57%;
        max-height: calc(100svh - var(--call-button-height));
        padding: 0;
    }
}

#hero-text-wrapper {
    position: absolute;
    display: flex;
    align-items: center;
    height: 0;
    top: clamp(220px, 18vw, 50%);
    padding-inline: var(--padding-inline);
    z-index: 10;
}

#hero h1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: var(--text-color);
    font-size: calc(30px + 1.5vw);
    font-family: var(--font-medium);
    text-transform: uppercase;
    letter-spacing: 0.1vw;
}

#hero h1 div {
    display: contents;
}

#hero h1 span:not(:first-child) {
    margin-top: -1px;
}

#hero h1 span {
    background-color: #fff;
    padding-block: 0.5vw 0.2vw;
    padding-inline: var(--home-text-padding-inline);
    font-family: var(--font-bold);
    /*! font-weight: bold; */
}

#hero.padding-top h1 span {
    background-color: var(--color-accent);
    color: #fff;
}

#hero h1 div span:nth-child(1) {
    font-size: 116%;
    color: var(--color-accent);
    line-height: 55%;
    z-index: 1;
    letter-spacing: 1px;
    padding-top: calc(22px + 0.5vw);
    padding-bottom: 0;
    margin-bottom: 6px;
}

#hero h1 div span:nth-child(2) {
    font-size: 116%;
    padding-top: calc(7px + 0.5vw);
    padding-bottom: calc(2px + 0.5vw);
    color: var(--color-accent);
    letter-spacing: 1px;
    line-height: 105%;
    margin-top: -6px;
}

#hero h1 > span:nth-child(2) {
    font-size: 30%;
    padding-bottom: calc(5px + 0.5vw);
    padding-top: 0;
    letter-spacing: 2px;
    background-color: var(--color-accent);
    font-family: var(--font-regular);
    color: #fff;
    white-space: nowrap;
}

#hero h1 > span:nth-child(2) strong {
    font-family: var(--font-regular);
    color: #fff;
}

#hero h1 > span:nth-child(3) {
    font-size: 30%;
    padding-bottom: calc(5px + 0.5vw);
    padding-top: 0;
    letter-spacing: 2px;
    background-color: var(--color-accent);
    font-family: var(--font-regular);
    color: #fff;
}

#hero-footer {
    position: absolute;
    bottom: 2svh;
}

#hero-footer .button-wrap {
    padding-left: 30px;
    background: var(--color-accent);
    border-radius: 10px;
}

@media (min-width: 1900px) {
    #hero h1 > span:nth-child(2) {
        font-size: 25%;
    }

    #hero h1 > span:nth-child(3) {
        font-size: 25%;
    }
}

@media (max-width: 1199px) {
    #hero h1 > span:nth-child(2) {
        font-size: 32%;
    }

    #hero h1 > span:nth-child(3) {
        font-size: 32%;
    }
}

@media (max-width: 899px) {
    #hero h1 > span:nth-child(2) {
        font-size: 40%;
    }

    #hero h1 > span:nth-child(3) {
        font-size: 40%;
    }
}

#hero #hero-text-wrapper {
    top: calc(var(--padding-block) + 22svh);
}

#hero.padding-top h1 {
    margin-left: -3px;
}

#hero.padding-top h1 div span:nth-child(1),
#hero.padding-top h1 div span:nth-child(2) {
    background-color: transparent;
    text-shadow: 6px 4px 10px rgba(0, 0, 0, 0.1);
}

#hero.padding-top h1 div span:nth-child(1),
#hero.padding-top h1 div span:nth-child(2) {
    color: #fff;
    font-weight: bold;
}

#hero.padding-top h1 > span:nth-child(2),
#hero.padding-top h1 > span:nth-child(3) {
    display: inline-block;
    padding-inline: calc(10px + 0.25vw);
}

#hero h1 > span:nth-child(2) {
    padding-top: calc(5px + 0.5vw);
}

#hero.padding-top h1 > span:nth-child(2),
#hero.padding-top h1 > span:nth-child(3) {
    margin-left: calc(var(--home-text-padding-inline) + 3px);
}

#services {
    display: flex;
    align-items: center;
    margin-inline: auto;
    width: fit-content;
    z-index: 1;
}

#services-images {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    width: 38vw;
    z-index: -1;
}

.services-images__image:first-child {
    position: relative;
    width: 100%;
    padding-left: 20%;
    margin-top: calc(var(--padding-block) * -1);
}

.services-images__image:nth-child(2) {
    position: absolute;
    left: 0;
    width: 60%;
    bottom: calc(var(--padding-block) * -1);
}

.services-images__image .image-wrapper {
    display: flex;
    width: 100%;
    height: fit-content;
    position: relative;
}

.services-images__image:first-child .image-wrapper {
    align-items: flex-start;
}

.services-images__image:nth-child(2) .image-wrapper {
    align-items: flex-end;
}

.services-images__image img {
    width: 100%;
    height: auto;
}

#services ~ #services-grid {
    padding-top: 0;
    padding-bottom: var(--padding-block-double);
}

#services ~ #realisations {
    padding-top: 0;
    /* padding-bottom: var(--padding-block-double); */
    padding-bottom: var(--padding-block);
    width: fit-content;
    z-index: 1;
    margin: auto;
}

#services-grid ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 10px;
}

#services-grid.large {
    padding-top: 0;
}

#services-grid li {
    position: relative;
    display: grid;
    place-content: center;
    aspect-ratio: 7/14;
}

h3.section-title strong {
    font-size: 75%;
}

h3.section-title strong::before,
h3.section-title strong::after {
    content: "";
    vertical-align: middle;
    width: 20px;
    height: 1px;
    background: var(--color-accent);
    display: inline-block;
    margin-inline: 20px;
}

.service-icons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
}

@media (min-width: 1200px) {
    .service-icons {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1200px;
        margin-inline: auto;
    }
}

section:not(.icons-and-image) .service-icons {
    padding-block: 20px;
}

.icons-and-image .service-icons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-block: var(--padding-inline);
    row-gap: 0;
}

.service-icon {
    transition-property: background-color;
    transition-duration: 0.2s;
    display: flex;
    align-items: flex-start;
    border-radius: 12px;
    padding-block: calc(var(--padding-block-third) / 2);
    padding-inline: calc(var(--padding-block-third) / 2);
}

section.services-section .service-icon {
    transform: none !important;
}

.service-icon h3 {
    font-size: calc(0.75rem + 0.2vw);
    font-weight: var(--font-weight-bold);
    padding-bottom: 0.5rem;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.service-icon p {
    font-size: 14px;
    line-height: 1.2;
    font-weight: var(--font-weight-regular);
    text-wrap: wrap;
    max-width: 24ch;
    font-weight: 500;
}

.service-icon__image {
    width: auto;
    display: grid;
    place-content: center;
    margin-right: 28px;
}

.service-icon__image .material-symbols-outlined {
    font-size: calc(3rem + 1vw);
    font-variation-settings: "FILL" 0, "wght" 100, "GRAD" -25, "opsz" 48;
    color: white;
}

.icons-and-image {
    display: flex;
    align-items: center;
}

.icons-and-image > * {
    flex-grow: 3;
    flex-shrink: 0;
    flex-basis: 0;
}

.icons-and-image .image-wrapper {
    margin-bottom: -50px;
}

.icons-and-image img {
    width: 100%;
    height: auto;
}

@media (min-width: 1979px) {
    .icons-and-image .service-icons {
        padding-inline: var(--padding-inline-double);
    }
}

@media (max-width: 1699px) {
    #services-images {
        width: 45vw;
    }
}

@media (min-width: 1500px) {
    html:not([data-page-type="services"][data-page-kind="section"])
    #services-grid
    ul {
        transform: rotate(1deg);
        margin-top: var(--padding-block-third);
    }

    html:not([data-page-type="services"][data-page-kind="section"])
    #services-grid
    li {
        transform: rotate(-3deg);
        outline: 8px solid var(--bg-color-main);
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li {
        z-index: 0;
        transition: z-index var(--card-z-index-transition-duration) step-end;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li:has(.card.previously-hovered-2) {
        z-index: 1;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li:has(.card.previously-hovered-2):not(:has(.card:hover)) {
        transition: none;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li:has(.card.previously-hovered-1) {
        z-index: 2;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li:has(.card.hovered),
    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li:has(.card:hover) {
        z-index: 3 !important;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li {
        transition-property: transform, z-index;
        transition-duration: var(--transition-duration),
        var(--card-z-index-transition-duration);
        transition-timing-function: var(--bezier), step-end;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    li:has(.card:hover) {
        transform: rotate(-1deg) scale(1.1);
        transition-delay: var(--card-z-index-transition-duration), 0s;
    }

    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    .image-and-text__image:has(a):hover
    .image-wrapper,
    html:not(.is-mobile):not(
      [data-page-type="services"][data-page-kind="section"]
    )
    #services-grid
    .hover-parent:hover
    .parent-hovered-zoom {
        transition-delay: var(--card-z-index-transition-duration);
    }
}

@media (max-width: 1499px) {
    #services-grid ul {
        grid-template-columns: repeat(3, 1fr);
        margin-inline: auto;
    }

    #services-grid li {
        aspect-ratio: 3/4;
    }

    h3.card__text {
        min-height: unset;
    }

    .card {
        border-radius: 0;
    }

    .service-icon__image {
        margin-right: 20px;
    }
}

@media (max-width: 1399px) {
    #services {
    }

    #services-images {
        margin-left: calc(var(--padding-inline-half) * -1);
    }

    #services .image-and-text__text {
        padding-left: 0;
    }
}

@media (max-width: 1249px) {
    .icons-and-image {
        flex-direction: column;
    }

    .service-icons {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        padding-block: var(--padding-inline);
    }

    .service-icon {
        transform: none !important;
        padding-block: var(--padding-inline);
        row-gap: 0;
    }

    .service-icon {
        transform: none !important;
    }

    .icons-and-image__image {
        transform: none !important;
        padding: 0;
    }

    .icons-and-image .image-wrapper {
        max-width: unset;
        margin-inline: 0;
        margin-bottom: 0;
    }

    .icons-and-image .service-icons {
        grid-template-columns: repeat(3, 1fr);
    }

    .service-icon__image .material-symbols-outlined {
        font-size: 4rem;
    }
}

@media (max-width: 1199px) {
    #nav-button__text {
        display: none;
    }

    nav > ul > li:not(.hoverable:hover) .nav-sub-item {
        opacity: 1;
        transform: rotate(0deg) translateY(0px);
        transition-delay: 0s, 0s, 0.3s;
        text-align: center;
        font-size: 16px;
        padding: 10px;
    }

    h2.selectable svg + span {
        font-size: 16px !important;
        margin-top: -4px;
    }

    h2.selectable {
        flex-wrap: nowrap;
    }

    h2.selectable a.selectable {
        gap: 5px;
        margin-right: 10px !important;
        flex-wrap: nowrap;
        align-items: start;
    }

    form input {
        height: 38px;
    }

    form label {
        font-size: 14px;
    }

    form .col-6 {
        width: 100% !important;
    }

    .service-icons a {
        gap: 5px;
        font-size: 16px !important;
        flex-wrap: nowrap;
        align-items: start;
        line-height: 1.5;
        margin-bottom: 10px !important;
    }

    .service-icons a span {
        margin-right: 5px !important;
    }

    .video-wide video {
        height: 60vw;
    }

    section iframe {
        height: 240px;
    }

    .contact-buttons a {
        width: 100%;
        font-size: 14px;
        white-space: wrap;
    }

    footer ul li a:not(.no-pointer-events),
    footer ul li.no-link,
    .footer-col__title {
        font-size: 14px;
        line-height: 1.5;
    }

    .footer-col:last-child {
        display: none;
    }

    .footer-logo > span {
        font-size: 42px;
    }

    .footer-logo > span:last-child {
        font-size: 15px;
    }

    #services ~ #realisations h3 {
        font-size: calc(1rem + 2svh);
    }

    #services ~ #realisations .articles-grid[data-count] {
        grid-template-columns: 1fr 1fr !important;
        padding: 30px 0;
    }

    #services ~ #realisations {
        padding-inline: 0;
    }

    .padding-inline-double {
        padding-inline: var(--padding-inline);
    }

    .padding-bottom-double {
        padding-bottom: var(--padding-block);
    }

    .owl-partners .owl-item img {
        height: 150px !important;
    }

    .articles-grid__text {
        padding-bottom: 30px !important;
    }

    .articles-grid__subtitle {
        font-size: 10px;
    }

    h3.articles-grid__title {
        font-size: 20px !important;
    }

    .articles-grid[data-count="4"] .articles-grid__subtitle {
        font-size: 12px !important;
    }

    .articles-grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }

    #hero.padding-top #hero-bg img {
        height: 240px;
        max-height: 240px;
    }

    #hero #hero-text-wrapper {
        top: calc(var(--padding-block) + 8svh);
    }

    .text-and-button {
        flex-direction: column;
        text-align: center;
        padding-top: var(--padding-block) !important;
    }

    #services h2 {
        text-wrap: unset;
    }

    #services {
        flex-direction: column-reverse;
    }

    #services-images {
        max-width: 630px;
        width: 100%;
        margin-bottom: var(--padding-block-double);
        margin-left: 0;
    }

    .services-images__image:first-child {
        margin-top: 0;
    }
}

@media (max-width: 929px) {
    #services-grid.large ul,
    #services-grid ul {
        grid-template-columns: 1fr 1fr;
    }

    #services-grid li {
        aspect-ratio: 5/6;
    }

    #services .title {
        font-size: lc(2rem+1svh);
    }

    .icons-and-image .service-icons {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 829px) {
    h2 {
        text-align: left;
    }

    .text-and-button {
        align-items: flex-start;
    }

    #contact .contact-buttons {
        justify-content: flex-start;
        width: 100%;
    }

    #hero #breadcrumbs {
        right: 0;
        font-size: 10px;
    }
}

@media (max-width: 649px) {
    #services-grid.large ul,
    #services-grid ul {
        grid-template-columns: 1fr;
        gap: var(--padding-inline-half);
    }

    #services-grid li {
        aspect-ratio: 5/3;
    }

    #services h2 {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.8;
        padding: 0;
        text-align: justify;
    }

    .service-icon p {
        max-width: 15ch;
    }

    .service-icon__image {
        margin-right: 17px;
    }

    .background-icon {
        display: none;
    }
}

@media (max-width: 619px) {
    #services-grid.large ul,
    #services-grid ul {
        grid-template-columns: 1fr;
        gap: var(--padding-inline-half);
    }

    #services-grid li {
        aspect-ratio: 5/3;
    }
}

@media (max-width: 549px) {
    .service-icon__image {
        aspect-ratio: unset;
        padding-inline: 5px;
    }

    .service-icon__image span {
        margin-left: -15px;
    }

    .service-icon__image span[data-extra-margin-left="1"] {
        margin-left: -20px;
    }

    .service-icon__image span[data-extra-margin-left="2"] {
        margin-left: -33px;
    }

    .service-icon p {
        max-width: unset;
    }

    .icons-and-image .service-icons,
    .service-icons {
        padding-inline: 0;
    }

    .service-icon {
        flex-direction: column;
        padding-block: calc(var(--padding-block-half) / 2);
        padding-left: 0;
        padding-right: 0;
    }

    .service-icon__image {
        width: 70px;
        height: 60px;
        margin-bottom: 8px;
    }

    .service-icon__text p {
        line-height: 1.05;
    }

    section.padding-inline a.button.centered {
        margin-left: 0;
    }

    section:not(.padding-inline) a.button.centered {
        margin-left: var(--padding-inline);
    }

    #hero:not(.padding-top) #hero-text-wrapper {
        top: calc(var(--padding-block) + 3svh);
    }

    #hero.padding-top #hero-text-wrapper {
        top: calc(var(--padding-block) + 13svh);
    }

    #hero h1 {
        margin-left: -3px;
    }

    #hero h1 div span:nth-child(1) {
        padding-top: 0;
        font-size: 22px;
        line-height: 2px;
    }

    #hero h1 div span:nth-child(1),
    #hero h1 div span:nth-child(2) {
        background-color: transparent;
        text-shadow: 6px 4px 4px rgba(0, 0, 0, 0.2), 0 0 50px rgba(0, 0, 0, 0.2),
        0 0 5px rgba(0, 0, 0, 0.2);
        font-size: 32px;
        line-height: 1;
    }

    #hero:not(.padding-top) h1 {
        filter: drop-shadow(0 -20px 32px rgba(67, 46, 12, 0.4));
    }

    #hero h1 div span:nth-child(1),
    #hero h1 div span:nth-child(2) {
        color: #fff;
    }

    #hero h1 > span:nth-child(2),
    #hero h1 > span:nth-child(3) {
        display: inline-block;
        padding-inline: calc(10px + 0.25vw);
    }

    #hero h1 > span:nth-child(2) {
        padding-top: calc(5px + 0.5vw);
    }

    #hero h1 > span:nth-child(2),
    #hero h1 > span:nth-child(3) {
        margin-left: calc(var(--home-text-padding-inline) + 3px);
        font-size: 10px;
    }
}

article {
    --article-color: var(--color, var(--color-accent));
}

article strong {
    color: var(--article-color);
    font-family: var(--font-bold);
}

article ul:not(#breadcrumbs),
article ol {
    position: relative;
    margin-top: 1rem;
    padding-block: 1.25rem;
    padding-inline: 2.5rem 1rem;
    border-radius: 10px px;
    max-width: 700px;
}

article ul:not(#breadcrumbs)::before,
article ol::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--article-color);
    opacity: var(--article-bg-opacity);
    border-radius: 7px;
    pointer-events: none;
    z-index: -1;
}

article ul:not(#breadcrumbs) li,
article ol li {
    padding-bottom: 0.4rem;
}

article ol li::marker {
    font-family: var(--font-medium);
}

:is(p, em) a {
    color: var(--article-color, var(--color-accent));
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}

.article-header__content,
.article-content {
    max-width: 1000px;
    max-width: calc(max(1.6rem, 11px + 0.36vw) * 58);
    margin-inline: auto;
    padding-inline: var(--padding-inline);
}

.article-header {
    padding-bottom: var(--padding-block-half);
    margin-bottom: var(--padding-block-half);
}

.article-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--article-color);
    pointer-events: none;
}

.article-header:not(.white-text)::before {
    opacity: var(--article-bg-opacity);
}

.article-header__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--padding-block-third);
    z-index: 2;
}

.article-header .tag-line {
    padding-top: 0;
}

.article-header__content img {
    width: 100%;
    height: auto;
}

.article-header h1 {
    font-family: 'Blacker Sans Text';
    font-size: 4rem;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    line-height: 1.1;
}

.article-header:not(.white-text) h1 {
    color: var(--article-color);
}

.article-header h1 strong {
    font-family: var(--font-light);
}

.article-header__image {
    position: absolute;
    top: 0;
    left: 100%;
    height: 100%;
    margin-left: 2rem;
}

.article-header__image img {
    height: 100%;
    width: auto;
}

.article-content > h2 {
    font-size: 1.75rem;
    font-family: var(--font-bold);
    padding-bottom: 1.5rem;
    max-width: unset;
    text-align: left;
    line-height: 1.2;
    color: var(--article-color);
    letter-spacing: 0;
    text-wrap: unset;
}

.article-content p + h2 {
    padding-top: var(--padding-block-half);
}

.article-content .full-width-image,
.article-content .two-images,
.article-content .three-images {
    gap: 5px;
    padding-top: var(--padding-block-third);
    padding-bottom: var(--padding-block-half);
}

.article-content h2 + :is(.full-width-image, .two-images, .three-images) {
    padding-top: 0;
    padding-bottom: var(--padding-block-third);
}

html[data-page-type="articles"] article .video-full-width,
html[data-page-type="articles"]
article
:not(.rounded-images, .three-images)
> .image-wrapper {
    border-radius: 8px;
    overflow: hidden;
}

article .image-wrapper {
    overflow: hidden;
}

article .image-loader {
    background-color: transparent;
}

article .image-loader::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--article-color);
    opacity: 0.25;
}

article section.white-text .image-loader::after {
    background-color: #fff;
}

@media (max-width: 1024px) {
    #services {
        padding-bottom: 0;
        margin-top: var(--padding-block);
        margin-bottom: var(--padding-block);
        width: 85vw;
    }

    #services .image-and-text__text {
        padding-inline: 0;
    }

    .background-icon .material-symbols-outlined {
        margin-right: calc(var(--font-size) * -0.08);
    }

    .icons-and-image {
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

@media (max-width: 930px) {
    .article-header h1 {
        font-size: calc(2rem + 3vw);
    }

    .article-header h1 br {
        display: none;
    }

    html[data-page-type="articles"] article .video-full-width,
    html[data-page-type="articles"]
    article
    :not(.rounded-images, .two-images, .three-images)
    > .image-wrapper {
        border-radius: 0;
        margin-left: calc(var(--padding-inline) * -1);
        width: calc(100% + var(--padding-inline) * 2);
    }

    .article-header:not(.white-text)::before {
        display: none;
    }
}

.articles-grid {
    display: grid;
    gap: 10px;
    margin-inline: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.articles-grid[data-count="1"] {
    grid-template-columns: 1fr;
    max-width: 380px;
}

.articles-grid.is-next-project[data-count="1"] {
    max-width: 700px;
}

.articles-grid[data-count="2"] {
    grid-template-columns: 1fr 1fr;
    max-width: 760px;
}

.articles-grid[data-count="3"] {
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 92vw;
}

.articles-grid a {
    display: contents;
}

.articles-grid .article {
    display: flex;
    align-items: flex-end;
    position: relative;
    overflow: hidden;
}

html[data-page-type="work"][data-page-kind="section"] .articles-grid .article {
    border-radius: 10px;
}

.articles-grid[data-count] .article {
    aspect-ratio: 3/1.8;
}

.articles-grid.is-next-project[data-count="1"] .article {
    aspect-ratio: 4/3;
}

.articles-grid:not([data-count]) .article {
    height: 660px;
}

.articles-grid .image-wrapper {
    display: block;
    overflow: hidden;
    position: absolute;
    inset: 0;
}

.articles-grid .article::before {
    transition-property: opacity;
    transition-duration: var(--image-loading-animation-duration);
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            0deg,
            hsl(37.06deg 72.41% 5.34%/50%) 0%,
            hsl(37.06deg 65.26% 14.08%/0%) 58%
    );
    z-index: 1;
}

.articles-grid__text {
    position: relative;
    padding-inline: 6.4%;
    padding-bottom: 40px;
    z-index: 10;
}

h3.articles-grid__title {
    font-family: 'Blacker Sans Text';
    font-size: 28px;
    text-transform: uppercase;
    line-height: 1.2em;
    letter-spacing: -0.02em;
    margin-top: 4px;
    font-weight: 600;
}

h3.articles-grid__title strong {
    color: inherit;
    font-weight: 400;
}

.articles-grid__subtitle {
    display: inline;
    width: fit-content;
    font-family: var(--font-styled);
    font-weight: var(--font-weight-medium);
    font-style: italic;
    padding-inline: 4px 6px;
    border-radius: 3px;
    background-color: var(--color-accent);
    font-size: 11px;
}

@media (max-width: 1379px) {
    .articles-grid:not([data-count]) .article {
        height: 500px;
    }
}

@media (min-width: 1040px) {
    html[data-page-type="work"][data-page-kind="section"] .articles-grid {
        gap: 60px;
    }

    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(6n - 4)
    .article,
    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(12n - 1)
    .article,
    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(6n)
    .article {
        margin-top: 500px;
    }

    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(12n - 8)
    .article,
    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(6n - 3)
    .article {
        margin-top: 1000px;
    }

    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(6n + 1)
    .article,
    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(6n - 3)
    .article,
    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a:nth-child(6n)
    .article {
        transform: none !important;
    }
}

@media (max-width: 1039px) {
    .articles-grid:not([data-count]) {
        grid-template-columns: 1fr 1fr;
    }

    html[data-page-type="work"][data-page-kind="section"]
    .articles-grid
    a
    .article {
        transform: none !important;
    }
}

@media (max-width: 799px) {
    .articles-grid[data-count] {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 600px) {
    .articles-grid:not([data-count])
    > a:is(:nth-child(6n), :nth-child(6n - 5), :nth-child(10n)):not(
      :nth-last-child(2)
    )
    .article {
        grid-column: span 2;
    }
}

@media (max-width: 599px) {
    .articles-grid:not([data-count]) {
        grid-template-columns: 1fr;
    }

    .articles-grid:not([data-count]) .article {
        height: 440px;
    }
}

.partners-grid {
    --height: 65px;
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    gap: var(--padding-block);
    width: 78vw;
    margin-inline: auto;
    /* border-block:1px solid rgba(0,0,0,.3); */
    /*! border-block-end: 1px solid rgba(0, 0, 0, .3); */
}

.partners-grid:not(.bordered) {
    gap: 0;
}

.partners-grid.bordered .partner {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    /* margin-bottom: 40px; */
    margin-bottom: 20px;
}

.partners-grid.bordered .partner a.button {
    transform: scale(0.9);
}

.partners-grid.bordered .partner img {
    border: 1px solid #dfdfdf;
    border-radius: 5px;
}

.partner svg {
    transition-property: fill, transform;
    transition-duration: 0.7s;
    transition-timing-function: var(--bezier);
    fill: var(--text-color);
    height: var(--height);
}

.partners-grid.bordered .partner .work-title {
    transform: rotate(-90deg);
    transform-origin: bottom left;
    left: calc(100% - 50px);
    bottom: 80px;
    font-size: 16px;
    position: relative;
}

html:not(.is-mobile) .partner:hover svg {
    fill: var(--color-accent);
    transform: scale(1.1);
}

html:not(.is-mobile) .partner.small:hover svg {
    transform: scale(1.05);
}

#partner-cuisines-action svg {
    height: calc(var(--height) * 5 / 6);
    margin-left: calc(var(--height) * -0.15);
}

.partner.small svg {
    height: calc(var(--height) / 4);
}

.partners-group {
    display: contents;
    width: 100%;
}

@media (max-width: 1099px) {
    .partners-grid {
        --height: 50px;
        width: 100%;
        justify-content: space-around;
        gap: 0;
    }
}

@media (max-width: 799px) {
    .partners-grid {
        flex-direction: column;
        gap: var(--padding-block-half);
    }

    .partner {
        display: grid;
        place-content: center;
    }

    .partners-group {
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        width: calc(100% + var(--padding-inline-double));
        flex-wrap: wrap;
    }

    #partners .h5 {
        text-align: center;
        font-size: max(1.5rem, 8vw) !important;
    }
}

@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.4;
    }
}

@keyframes scale-up {
    from {
        transform: scale(0);
    }
    to {
        transform: none;
    }
}

@keyframes nav-item-appear {
    0% {
        transform: translateX(100px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes image-showcase-appear {
    100% {
        transform: none;
        border-radius: 0;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

@keyframes image-showcase-disappear {
    0% {
        transform: none;
        border-radius: 0;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

.image-and-text__image:has(a) .image-wrapper,
.parent-hovered-zoom {
    transition-property: transform;
    transition-duration: 1.5s;
    transition-timing-function: var(--bezier);
}

.parent-hovered-darken::before {
    transition-property: opacity;
    transition-duration: 0.3s;
    transition-timing-function: linear;
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: -1;
    opacity: 0;
}

.parent-hovered-darken {
    transition-property: opacity;
}

.image-and-text__image:has(a) .image-wrapper {
    display: block;
    height: 100%;
}

html:not(.is-mobile) .image-and-text__image:has(a):hover .image-wrapper,
html:not(.is-mobile) .hover-parent:hover .parent-hovered-zoom {
    transform: scale(1.05);
}

html:not(.is-mobile) .hover-parent:hover .parent-hovered-darken::before {
    opacity: 1;
}

[data-skew-content-on-reveal] * {
    display: inline-block;
}

.articles-grid[data-count="4"] .articles-grid__subtitle {
    font-size: 14px;
}

.article-expanded-img {
    position: relative;
    display: flex;
    align-items: end;
}

[data-gallery] {
    cursor: pointer;
    padding: 0;
}

.d-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.align-items-center {
    align-items: center;
}

form {
    display: flex;
    flex-wrap: wrap;
    padding: 40px;
    background: #f8f8f8;
    justify-content: space-between;
    border-radius: 3px !important;
}

form .col-6 {
    display: block;
    width: calc(50% - 15px);
    margin-bottom: 20px;
}

form .col-12 {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}

form label {
    display: block;
    margin-bottom: 10px;
    color: gray;
}

form input {
    padding: 10px;
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    outline: none;
    width: 100%;
    height: 48px;
}

form textarea {
    padding: 10px;
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    outline: none;
    width: 100%;
    resize: unset;
}

form textarea:focus,
form input:focus {
    border-color: gray;
}

.gray-text {
    color: gray;
}

.dark-text {
    color: #4e4e4e;
}

.owl-partners .owl-item img {
    width: 100%;
    height: auto;
}

.contact .service-icons .section-title {
    position: relative;
}

.contact .service-icons .section-title:after {
    content: "";
    position: absolute;
    bottom: calc(var(--padding-inline) * -0.3);
    width: 25%;
    height: 1px;
    background-color: var(--color-accent);
}

ol {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 20px;
}

ol li {
    padding-bottom: 10px;
}

.container-gallery img {
    width: 100%;
    height: auto;
}

.articles-grid-instagram .articles-grid__text {
    opacity: 0;
    transition: all 0.2s ease;
}

.articles-grid-instagram .article:hover .articles-grid__text {
    opacity: 1;
    transition: all 0.2s ease;
}

#partners .h5 {
    font-size: calc(2rem + 1svh);
    font-family: var(--font-light);
    letter-spacing: 0.5px;
    color: #1e1e1e;
    font-weight: 500;
}

#projects .image-and-text__text :is(h3, .title):before {
    content: "";
    position: absolute;
    bottom: -10px;
    width: 80px;
    height: 2px;
    background-color: var(--color-accent);
}

#projects .image-and-text__text :is(h3, .title) {
    margin-bottom: 0;
    padding-bottom: 15px;
}

.button.mimarlik-phone {
    width: 50% !important;
}

.button.mimarlik-email {
    width: 50% !important;
}

.button.insaat-phone {
    width: 50% !important;
}

.button.insaat-email {
    width: 50% !important;
}

.button.gayrimenkul-gelistirme-phone {
    width: 50% !important;
}

.button.gayrimenkul-gelistirme-email {
    width: 50% !important;
}

.button.beyaz-esya-phone {
    width: 50% !important;
}

.button.beyaz-esya-email {
    width: 70% !important;
}

.button.madencilik-phone {
    width: 50% !important;
}

.button.madencilik-fax {
    width: 50% !important;
}

.button.madencilik-email {
    width: 50% !important;
}

.button.sanayi-phone {
    width: 50% !important;
}

.button.sanayi-fax {
    width: 50% !important;
}

.button.sanayi-email {
    width: 50% !important;
}

.about-us {
    margin-inline: auto;
    width: fit-content;
    z-index: 1;
    max-width: 78vw;
}

.about-us .image-and-text__image:has(a) .image-wrapper {
    max-height: 650px;
}

.about-us .image-and-text__text > :is(p, em):last-child::after {
    display: none;
}

.about-us-ex {
    margin-inline: auto;
    width: fit-content;
    z-index: 1;
    max-width: 78vw;
}

.about-us-ex .image-and-text__text > :is(p, em):last-child::after {
    display: none;
}

.service-detail {
    margin-inline: auto;
    width: fit-content;
    z-index: 1;
    max-width: 78vw;
}

.service-detail .image-and-text__text > :is(p, em):last-child::after {
    display: none;
}

.service-map {
    margin-inline: auto;
    z-index: 1;
    max-width: 78vw;
}

.contact {
    margin-inline: auto;
    width: fit-content;
    z-index: 1;
    max-width: 78vw;
}

#services + #partners .partners-grid {
    width: 71vw;
}

#instagram-photos.articles-grid[data-count="3"] {
    max-width: 71vw;
}

#content-start + section {
    margin-top: 80px;
}

#contact .contact-buttons a.button {
    background-color: transparent !important;
    color: #808080;
    padding: 1rem;
    white-space: wrap;
}

@media (max-width: 1200px) {
    .button.mimarlik-phone {
        width: 100% !important;
    }

    .button.mimarlik-email {
        width: 100% !important;
    }

    .button.insaat-phone {
        width: 100% !important;
    }

    .button.insaat-email {
        width: 100% !important;
    }

    .button.gayrimenkul-gelistirme-phone {
        width: 100% !important;
    }

    .button.gayrimenkul-gelistirme-email {
        width: 100% !important;
    }

    .button.beyaz-esya-phone {
        width: 100% !important;
    }

    .button.beyaz-esya-email {
        width: 70% !important;
    }

    .button.madencilik-phone {
        width: 100% !important;
    }

    .button.madencilik-fax {
        width: 100% !important;
    }

    .button.madencilik-email {
        width: 100% !important;
    }

    .button.sanayi-phone {
        width: 100% !important;
    }

    .button.sanayi-fax {
        width: 100% !important;
    }

    .button.sanayi-email {
        width: 100% !important;
    }

    #header-background {
        height: auto;
    }

    #content-start + section {
        margin-top: 0;
    }

    header {
        flex-direction: row;
        padding-left: var(--padding-inline);
        padding-right: var(--padding-inline);
        padding-block: var(--padding-block-half);
    }

    nav {
        width: auto;
        background: transparent;
        padding: 0;
    }

    #logo {
        margin-bottom: 0px;
    }
}

@media (min-width: 1025px) and (max-width: 1690px) {
    .articles-grid[data-count] .article {
        aspect-ratio: 3/2;
    }

    .service-icon a.selectable {
        flex-wrap: nowrap;
    }

    .image-and-text__text :is(h3, .title) {
        font-size: calc(2rem + 0svh);
    }

    #instagram-photos.articles-grid[data-count="3"] {
        max-width: 89vw;
        margin: 0;
    }

    #services + #partners .partners-grid {
        width: 89vw;
    }

    .service-detail {
        max-width: 90vw;
    }

    .about-us {
        max-width: 90vw;
    }

    .about-us-ex {
        max-width: 90vw;
    }

    .contact {
        max-width: 90vw;
    }

    .service-map {
        max-width: 90vw;
    }

    .image-and-text.centered .image-and-text__text {
        max-width: 70ch;
    }

    .about-us .image-and-text.centered .image-and-text__text {
        max-width: 60ch;
    }

    .service-detail .image-and-text.centered .image-and-text__text {
        max-width: 60ch;
    }

    .footer-row:nth-child(2) {
        padding-left: var(--padding-block);
        padding-right: var(--padding-block);
    }

    .footer-container {
        padding-block: var(--padding-block-half);
    }
}

@media (min-width: 1025px) and (max-width: 1200px) {
    .image-and-text__text :is(h3, .title) {
        font-size: calc(2rem + 0svh);
    }
}

@media (max-width: 992px) {
    .text-and-button, .service-detail, .service-map, .about-us, .about-us-ex {
        max-width: 85vw;
    }

    .text-and-button {
        padding-top: 30px;
    }

    .service-map {
        padding-top: 0;
    }

    #services + #partners .partners-grid, #instagram-photos.articles-grid[data-count="3"], .contact {
        max-width: 85vw;
    }

    .text-and-button h2 {
        margin-right: 0;
        text-align: justify;
    }

    article :where(:not(h3, img, video, #breadcrumbs-wrapper, #breadcrumbs-wrapper *)), .title-and-text__text > p, .image-and-text__text > p, h2 {
        font-size: 14px;
        letter-spacing: 0.2px;
    }

    .video-wide {
        padding-top: 0;
    }

    h4 strong {
        font-size: 130%;
        top: 0px;
    }

    #contact h2 {
        margin: auto;
    }

    .h5 {
        font-size: clamp(18px, 1.2vw, 18px);
        padding-bottom: 20px;
    }
}

.home-about {
    border-radius: 10px;
    border: 1px solid white;
}
