:root {
    --white: #ffffff;
    --black: #000000;
    --tec-color-text-primary: var(--white);
    --tec-color-text-view-selector-list-item: var(--black);
    --tec-color-accent-primary: #888;
    --tec-color-accent-primary-hover: var(--black);

}


@font-face {
    font-family: 'SuisseIntl';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(webfont/SuisseIntl-Regular-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(webfont/SuisseIntl-RegularItalic-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(webfont/SuisseIntl-Light-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(webfont/SuisseIntl-LightItalic-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url(webfont/SuisseIntl-Thin-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: italic;
    font-weight: 200;
    font-display: swap;
    src: url(webfont/SuisseIntl-ThinItalic-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(webfont/SuisseIntl-Bold-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url(webfont/SuisseIntl-BoldItalic-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(webfont/SuisseIntl-SemiBold-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url(webfont/SuisseIntl-SemiBoldItalic-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(webfont/SuisseIntl-Medium-WebS.woff2) format('woff2');
}

@font-face {
    font-family: 'SuisseIntl';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(webfont/SuisseIntl-MediumItalic-WebS.woff2) format('woff2');
}

body {
    margin: 0;
    padding: 0;
    font-family: 'SuisseIntl', sans-serif;
    overflow-x: hidden;
    color: var(--white);
    background-color: var(--black);
}

.site {
    margin-top: 7em;
}

/* Textes */


a,
a:visited {
    text-decoration: none;
    color: var(--white);
}

a:hover {
    text-decoration: underline;
    color: var(--white);
}

h1 {
    padding: 8rem 0 2rem 0;
    text-align: end;
}

h2 {
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .03em;
}

h3 {
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .03em;
}

p {
    font-weight: 300;
    max-width: 500px;
}

/* structure */

.container,
.wp-block-cover__inner-container,
.wp-block-group__inner-container {
    padding: 0;
    background-color: transparent;
    max-width: 1400px;
    margin: 0 auto;
}

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

figure {
    margin: 0;
    padding: 0;
}

.bifff-cols {
    padding-top: 4rem;
}

.col-left {
    width: 25%;
}

.col-left h2 {
    text-align: right;
}

.col-left h3 {
    text-align: right;
    transform: translateY(-2em);
}

.page-header,
.entry-header {
    width: 25%;
}

/* full width */
.entry-content .alignwide {
    margin-left: -80px;
    margin-right: -80px;
}

.entry-content .alignfull {
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
}

.alignfull img {
    width: 100vw;
}


/* SITE HEADER */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: linear-gradient(rgba(0, 0, 0, .9), rgba(0, 0, 0, 0));
    box-sizing: border-box;
    padding-bottom: 2rem;
    font-weight: 300;

    transition: .3s;
}

.scrolled .site-header {
    padding-bottom: 1rem;
}

.home .entry-header {
    display: none;
}

.site-description {
    display: none;
}

.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.site-header .main-navigation {
    margin-left: 2rem;
    width: 75%;
}


.site-branding {
    width: 25%;
}

.logo-bifff svg {
    margin: 3.5rem 0 0 auto;
    color: var(--white);
    height: 2rem;
    display: block;
    box-sizing: border-box;

    transition: .5s ease-in-out;
}

#secondary .logo-bifff svg,
.scrolled #secondary .logo-bifff svg {
    height: 1em;
    margin: 0 0 0 auto;
    transform: translateY(-1.5rem);
}

.scrolled .logo-bifff svg {
    margin: 1.5rem 0 0 auto;
    height: 2rem;
}

/* main nav */


.main-navigation a {
    margin-right: 1.5rem;
    color: var(--white);
}

/* FOOTER */
#secondary {
    padding-top: 3rem;
}

#secondary figure {
    margin: 0 0 1.5rem auto;
    width: 2.5rem;
}

/* form */

#secondary form {
    margin: 0;
    padding: 0;
}

#secondary form label {
    width: 100%;
}

#secondary form label input {
    background-color: transparent;
    border: 2px solid var(--white);
    border-radius: 0;
}

#secondary .wpcf7-form {
    display: flex;
    justify-content: space-between;
}


/*  home page */


.home h1 {
    text-align: start;
    padding: 0;
}

h1,
.home h2 {
    font-size: 3rem;
    margin: -.9em 0 -.1em 0;
    color: var(--white);
    text-transform: uppercase;
    font-weight: 200;
    line-height: 1.1em;
    max-width: 900px;
    margin-left: -5px;
}

.home h1 {
    margin-top: -.5em;
}


.home .m-top-home {
    margin: calc(100vh - 22.4rem) 0 0 0;
}

/* bg-slider */

.bg-slider {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    min-height: 100vh;
    width: 100vw;
    z-index: -1;
    overflow: hidden;
    margin: 0;
    padding: 0;

}

.bg-slider figure img {
    object-fit: cover;
    width: 100vw;
    height: 100vh;
}

/* img */
/* .cursor-follow, */
.hand-sand {
    transform: scale(1.5);
}

.news-latest ul {
    margin: 0;
}

/* FOOTER */

#menu-footer-menu {
    padding: 0;
    margin: 0;
    list-style-type: none;
    font-weight: 300;
}

#menu-footer-menu li {
    margin: 0;
    padding: 0;
}

.wpcf7-spinner {
    position: absolute;
}

/* archive */

.archive .site .tribe-events-calendar-list p,
.archive .site .tribe-events-calendar-list h2,
.archive .site .tribe-events-calendar-list time,
.archive .site .tribe-events-calendar-list a,
.archive .site .tribe-events-calendar-list span,
.archive .site .tribe-events-c-top-bar__datepicker time {
    color: var(--white);
}

.archive .tribe-common {
    width: calc(75% - 2rem);
    margin: 0 0 0 auto;
}

.tribe-common-l-container {
    padding: 0 !important;
    margin: 0;
}

.archive .tribe-events-header__title-text {
    width: calc(25%);
    margin: 0 auto 0 0;
}

.archive .tribe-events-header__title-text h1 {
    transform: translateX(300px);
    font-size: 2rem;
    text-align: end;
}

/* 
.archive .tribe-events-calendar-list,
.archive .tribe-events-calendar-list-nav,
.archive .tribe-events-header__breadcrumbs,
.archive .tribe-events-header__events-bar,
.archive .tribe-events-c-top-bar {
    width: calc(75% - 2rem);
    margin: 0 0 0 auto;
} */


/* FILM GRID */


.films-grid .films-grid-image {
    width: calc(25% - .5rem);
}

.films-grid article {
    position: relative;
    margin: 7rem 0 9rem;
}


.films-grid .entry-content,
.films-grid .entry-header,
.films-grid .entry-footer {
    position: absolute;
    /* margin: 2rem auto 2rem calc(25% + 1.7rem); */
}


.films-grid .entry-header {
    text-align: end;
    top: 0;
    margin: 0;
    transform: translateY(-3.5rem);
}

.films-grid .entry-header h2,
.films-grid .entry-header a {
    margin: 0;
}

.films-grid .entry-content {
    margin: 0;
    top: 0;
    left: calc(25% + 1.5rem);
}

.films-grid .entry-content p {
    margin: 0;
}

.films-grid .entry-footer {
    left: calc(25% + 1.5rem);
    bottom: 0;
}

/* NEWS GRID */

.news-grid .news-grid-image {
    width: calc(25% - .5rem);
    transform: translateX(calc(100% + 4.5rem + 500px));
}

.news-grid article {
    position: relative;
    margin: 7rem 0 9rem;
}


.news-grid .entry-content,
.news-grid .entry-header,
.news-grid .entry-footer {
    position: absolute;
    /* margin: 2rem auto 2rem calc(25% + 1.7rem); */
}


.news-grid .entry-header {
    text-align: end;
    top: 0;
    margin: 0;
    transform: translateY(-3.5rem);
}

.news-grid .entry-header h2,
.news-grid .entry-header a {
    margin: 0;
}

.news-grid .entry-content {
    margin: 0;
    top: 0;
    left: calc(25% + 1.5rem);
}

.news-grid .entry-content p {
    margin: 0;
}

.news-grid .entry-footer {
    left: calc(25% + 1.5rem);
    bottom: 0;
}