/*
Theme Name: FC Saint-Lô
Theme URI: https://github.com/elementor/hello-theme/
Description: Thème enfant de Hello Elementor par IPSO
Author: IPSO
Author URI: https://www.studioipso.fr
Template: hello-elementor
Version: 1.0
Text Domain: hello-elementor-child
*/



/* --- Header --- */

/* header-secondary */
#header .header-secondary .elementor-nav-menu .menu-item > a:is(:hover, :focus) {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media screen and (min-width: 768px) {
    #header .header-secondary .elementor-nav-menu .menu-item > a[target=_blank] {
        position: relative;
        padding-right: calc(12px + .4em);
    }

    #header .header-secondary .elementor-nav-menu .menu-item > a[target=_blank]::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        content: '';
        height: 12px;
        width: 12px;
        background-size: contain;
        background-image: url('img/icon-external-link.svg');
        filter: brightness(0) invert(1);
        opacity: 1;
    }
}


/* header-primary */
.header-menu .elementor-nav-menu--dropdown a,
.header-menu .elementor-nav-menu--dropdown a:is(:hover, :focus) {
    border-inline-start: unset;
}

.header-menu .elementor-menu-toggle {
    padding: 0;
}

.header-menu .elementor-menu-toggle__icon--open,
.header-menu .elementor-menu-toggle__icon--close {
    height: 2rem !important;
}


@media screen and (max-width: 1024px) {
    .header-menu .elementor-nav-menu--dropdown {
        border-top: 1px solid var(--e-global-color-primary) !important;
    }
}

@media screen and (min-width: 768px) {
    .header-menu li.menu-mobile {
        display: none;
    }
}

@media screen and (min-width: 1025px) {
    #header .header-menu .elementor-nav-menu > .menu-item > a:is(:hover, :focus, [aria-expanded=true]),
    #header .header-menu .elementor-nav-menu > .menu-item.current-menu-item > a {
        text-decoration: underline;
        text-underline-offset: 8px;
        text-decoration-thickness: 2px;
    }

    #header .header-menu .elementor-nav-menu > .menu-item:has(+ .menu-mobile) > a {
        margin-right: 0;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1125px) {
    #header .header-menu .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child) > a {
        margin-inline-end: calc(1.2em / 2) !important;
    }

    #header .header-menu .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:first-child) > a {
        margin-inline-start: calc(1.2em / 2) !important;
    }
}


/* --- Footer --- */

/* footer-primary */
.footer-primary a:is(:hover, :focus) {
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* footer-secondary */
.footer-secondary a:is(:hover, :focus) {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

@media screen and (max-width: 767px) {
    .footer-secondary .elementor-nav-menu {
        flex-direction: column;
        gap: .5rem;
    }

    .footer-secondary .elementor-nav-menu a {
        margin: 0 !important;
    }
}

/* partenaires-slider */
.partenaires-slider {
    height: 100%;
    overflow: hidden;
}

.partenaires-slider .swiper-wrapper {
    transition-timing-function: linear !important;
}

.partenaires-slider__item {
    height: 100%;
    width: 170px !important;
    overflow: hidden;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 0;
    aspect-ratio: 4 / 3;
}

@media screen and (max-width: 767px) {
    .partenaires-slider__item {
        width: 120px !important;
    }
}
 
.partenaires-slider__item-link {
    display: block;
}

.partenaires-slider__item-logo {
    display: block;
    padding: 1.25em;
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center center;
    aspect-ratio: 4 / 3;
}

.partenaires-slider__button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 48px;
    width: 48px;
    background: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-text);
    cursor: pointer;
    z-index: 1;
}

.partenaires-slider__button-prev {
    left: 1.5em;
}

.partenaires-slider__button-next {
    right: 1.5em;
}

.partenaires-slider__button > img {
    height: 50%;
    width: auto;
}



/* --- Home Landing --- */

/* home-landing-button */
.home-landing-button {
    margin-top: 1.5rem;
}



/* --- Scoreboard --- */
.scoreboard {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--e-global-color-text);
    overflow: hidden;
}

.scoreboard:is(.dernier-match) {
    background: #fff;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .scoreboard {
        min-height: 310px;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
    .scoreboard {
        min-height: 335px;
    }
}

@media screen and (min-width: 1201px) {
    .scoreboard {
        min-height: 372px;
    }
}

.scoreboard__wrapper {
    position: relative;
    padding: 2rem;
    width: 100%;
    z-index: 5;
}

@media screen and (max-width: 767px) {
    .scoreboard__wrapper {
        padding: 1.5rem;
    }
}

/* Match information */
.scoreboard__information {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: .8rem;
}

.scoreboard__information-journey {
    margin: 0;
    font-family: 'Rethink Sans', Arial;
    font-size: .9rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
}

:is(.dernier-match) .scoreboard__information-journey {
    color: var(--e-global-color-text);
}

@media screen and (max-width: 1200px) {
    .scoreboard__information-journey {
        font-size: .8rem;
    }
}

.scoreboard__information-league {
    font-weight: 400;
}

/* Match date */
.scoreboard__date {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
}

@media screen and (max-width: 1200px) {
    .scoreboard__date {
        margin-bottom: 1rem;
    }
}

.scoreboard__date-day {
    margin: 0;
    padding: .25em .8em;
    font-size: 1rem;
    font-family: 'Rethink Sans', Arial;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    background: var(--e-global-color-secondary);
}

@media screen and (max-width: 1200px) {
    .scoreboard__date-day {
        font-size: .9rem;
    }
}

/* Match teams */
.scoreboard__teams {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
}

@media screen and (max-width: 1200px) {
    .scoreboard__teams {
        gap: .3rem;
    }
}

.scoreboard__teams-item {
    margin: 0;
    display: block;
    font-size: 1.5rem;
    font-family: 'Rethink Sans', Arial;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.2;
    color: #fff;
}

:is(.dernier-match) .scoreboard__teams-item {
    color: var(--e-global-color-text);
}

@media screen and (max-width: 1200px) {
    .scoreboard__teams-item {
        font-size: 1.3rem;
    }
}

/* Match logos */
.scoreboard .scoreboard__logos {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

@media screen and (max-width: 1200px) {
    .scoreboard .scoreboard__logos {
        gap: 1rem;
    }
}

.scoreboard .scoreboard__logos-item {
    display: block;
    height: 120px;
    width: auto;
    max-height: 120px;
    max-width: 120px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
}

@media screen and (max-width: 1200px) {
    .scoreboard .scoreboard__logos-item {
        height: 80px;
        max-height: 80px;
        max-width: 80px;
    }
}

/* Resultats */
.scoreboard__result {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    font-size: 2rem;
    color: var(--e-global-color-text);
}

@media screen and (max-width: 1200px) {
    .scoreboard__result {
        gap: .75rem;
        font-size: 1.5rem;
    }
}

.scoreboard__result-item {
    font-family: 'Rethink Sans', Arial;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
}


/* Overlay */
.scoreboard__overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url('img/texture-abstract.png');
    background-position: center;
    background-size: cover;
    filter: brightness(0) saturate(100%) invert(19%) sepia(59%) saturate(1809%) hue-rotate(195deg) brightness(94%) contrast(92%);
    opacity: .2;
    z-index: 1;
}

:is(.dernier-match) .scoreboard__overlay {
    opacity: .05;
}



/* --- Classement --- */
.classement {
    height: 372px;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

@media screen and (max-width: 1024px) {
    .classement {
        height: auto;
        max-height: 500px;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
    .classement {
        height: 335px;
    }
}

.classement__wrapper {
    height: 100%;
}

/* heading */
.classement__table-heading-row {
    font-family: 'Rethink Sans', Arial;
    background-color: var(--e-global-color-primary);
}

.classement__table-heading-row th {
    position: sticky;
    top: 0;
    padding: .8rem;
    padding-top: 0 !important;
    background-color: var(--e-global-color-primary) !important;
    border: unset;
    border-block-start: unset !important;
    vertical-align: middle;
    color: #fff;
    text-align: center;
    line-height: 1;
}

.classement__table-heading-club {
    text-align: left !important;
}

.classement__table-heading-rank,
.classement__table-heading-club,
.classement__table-heading-pts,
.classement__table-heading-joues,
.classement__table-heading-diff {
    font-size: .8rem;
    text-transform: uppercase;
}

.classement__table-heading-pts,
.classement__table-heading-joues,
.classement__table-heading-diff {
    padding: .5rem .3rem !important;
}


/* body */
.classement .classement__table-body-row {
    font-family: 'Rethink Sans', Arial;
    background-color: #fff;
}

.classement .classement__table-body-row:is(.own-team),
.classement .classement__table-body-row:is(.own-team) td {
    background-color: var(--e-global-color-secondary) !important;
    color: #fff;
}

.classement__table-body-row:not(:last-of-type) {
    border-bottom: 2px solid #eee;
}

.classement .classement__table-body-row:nth-child(even) td {
  background-color: #f8f8f8; 
}

.classement .classement__table-body-row td {
    padding: .8rem;
    background-color: #fff;
    border: unset;
    vertical-align: middle;
    text-align: center;
}

.classement__table-body-rank {
    border-right: 2px dotted #ddd !important;
    font-size: 1.2rem;
    font-weight: 800;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .classement__table-body-rank {
        font-size: 1rem;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
    .classement__table-body-rank {
        font-size: 1rem;
    }
}

.classement__table-body-team {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .6em;
}

.classement__table-body-team-logo {
    display: block;
    height: 30px;
    width: 30px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
}

.classement__table-body-team-name {
    font-size: .95rem;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    line-height: 1.2;
}

@media screen and (max-width: 767px) {
    .classement__table-body-team-name {
        font-size: .9rem;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
    .classement__table-body-team-name {
        font-size: .9rem;
    }
}

.classement__table-body-pts,
.classement__table-body-joues,
.classement__table-body-diff {
    padding: .8rem .3rem !important;
    font-size: .95rem;
}

.classement__table-body-pts {
    font-weight: 800;
}

/* Empty */
.api-empty {
    color: #fff;
}



/* --- Equipe Ligue --- */
.equipe-ligue {
    margin-top: 1rem;
}

.equipe-ligue__wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
}

.equipe-ligue__icon {
    display: block;
    height: 24px;
    width: 24px;
}

.equipe-ligue__name {
    margin: 0;
    font-family: "Rethink Sans", Sans-serif;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.2;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .equipe-ligue__icon {
        height: 18px;
         width: 18px;
    }

    .equipe-ligue__name {
        font-size: .9rem;
    }
}


/* --- Effectif --- */
.effectif__listing {
    display: grid;
    align-content: start;
    align-items: stretch;
    grid-auto-flow: row;
    grid-template-columns: repeat(4,1fr);
    justify-content: start;
    justify-items: stretch;
    gap: 1.5rem;
}

@media screen and (max-width: 1024px) {
    .effectif__listing {
        grid-template-columns:repeat(3, 1fr);
        gap: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .effectif__listing {
        grid-template-columns:repeat(2, 1fr);
    }
}

@media screen and (max-width: 420px) {
    .effectif__listing {
        grid-template-columns:repeat(1, 1fr);
    }
}

.effectif__item {
    display: flex;
    flex-direction: column;
}

.effectif__image {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 280px;
    background-color: var(--e-global-color-text);
}

.effectif__image-photo {
    display: block;
    padding: 1.5rem 1.5rem 0rem 1.5rem;
    height: 100% !important;
    width: 100%;
    object-fit: contain;
    object-position: bottom center;
    z-index: 5;
}

@media screen and (max-width: 1024px) {
    .effectif__image-overlay {
        height: 250px
    }
}

@media screen and (max-width: 767px) {
    .effectif__image {
        height: 200px;
    }
}

@media screen and (max-width: 550px) {
    .effectif__image {
        height: 200px;
    }
}

@media screen and (max-width: 420px) {
    .effectif__image {
        height: 180px;
    }
}

.effectif__information {
    padding: .6rem 1rem;
    background: var(--e-global-color-primary);
}

.effectif__name {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.effectif__name-prenom,
.effectif__name-nom {
    color: #fff;
    text-transform: uppercase;
    line-height: 1.2;
}

.effectif__name-prenom {
    font-size: 80%;
}

.effectif__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url('img/texture-abstract.png');
    background-position: center;
    background-size: cover;
    filter: brightness(0) saturate(100%) invert(19%) sepia(59%) saturate(1809%) hue-rotate(195deg) brightness(94%) contrast(92%);
    opacity: .2;
    z-index: 1;
}

.effectif__empty {
    color: var(--e-global-color-primary);
}

.effectif__designation {
    padding: .6rem 1rem;
    background: #f9f9f9;
    border: 1px solid var(--e-global-color-primary);
}

.effectif__designation-title {
    margin-bottom: .25rem;
    font-size: 1rem !important;
}

.effectif__designation :is(.effectif__designation-match, .effectif__designation-date, .effectif__designation-niveau) {
    font-family: "Geist", Sans-serif;
    font-size: .95rem;
    line-height: 1.2;
}

.effectif__designation-match {
    margin-bottom: 3px;
    font-weight: 700;
}

.effectif__designation-date {
    margin-bottom: 0;
}

.effectif__designation-niveau {
    margin-top: 2px;
    margin-bottom: 0;
    font-size: .85rem !important;
}


/* --- Modèle : Article --- */
.modele-article-informations .elementor-post-info__terms-list-item {
    font-weight: 400;
}

.modele-article-overlay {
    background: linear-gradient(180deg, rgb(25, 45, 83,0) 25%, rgb(25, 45, 83,.75) 90%);
    transition: .5s;
    border-bottom: 2px solid var(--e-global-color-secondary);
}

.modele-article-image > img {
    transition: .5s ease;
}

.modele-article:is(:hover, :focus) .modele-article-image > img {
    transform: translateY(-2px);
}



/* --- WPForms --- */
.wpforms-container .wpforms-field {
    padding: .9rem 0 !important;
}

.wpforms-form .wpforms-field-label {
    margin-bottom: .6em;
    font-family: 'Rethink Sans', Sans-serif;
    font-size: 1.1rem;
    text-transform: uppercase;
    font-weight: 700 !important;
    line-height: 1.2;
    color: var(--e-global-color-primary);
}

.wpforms-form .wpforms-required-label {
    color: var(--e-global-color-secondary) !important;
}

.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
    padding: .8em 1.2em;
    color: var(--e-global-color-text);
    font-size: 1rem;
    font-weight: 400 !important; 
    border: 2px solid #eee;
    border-radius: unset;
    background: #f9f9f9;
}

.wpforms-form input:is(:focus),
.wpforms-form textarea:is(:focus) {
    border-color: var(--e-global-color-primary);
}

.wpforms-form input {
    line-height: 1;
}

.wpforms-form textarea {
    padding: .9em 1.2em;
}

.wpforms-form .wpforms-field-sublabel {
    margin-top: .6em;
}

/* RGPD */
.wpforms-form .wpforms-field-checkbox ul,
.wpforms-form .wpforms-field-gdpr-checkbox ul {
    display: flex;
    flex-direction: column;
    gap: .8em;
    padding-left: 0;
    list-style: none;
}

.wpforms-form .wpforms-field-checkbox ul li,
.wpforms-form .wpforms-field-gdpr-checkbox ul li {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.wpforms-form .wpforms-field-checkbox ul li input[type="checkbox"],
.wpforms-form .wpforms-field-gdpr-checkbox ul li input[type="checkbox"] {
    align-self: flex-start;
}

.wpforms-form .wpforms-field-checkbox ul li label,
.wpforms-form .wpforms-field-gdpr-checkbox ul li label {
    font-weight: 400;
    line-height: 1.2;
}

/* Error */
.wpforms-form .wpforms-field input.wpforms-error {
    border-width: 2px !important;
}

.wpforms-form .wpforms-field em.wpforms-error {
    margin-top: .25em;
    color: #bf1a1b !important;
    font-size: 0.8em !important;
}

/* Submit */
.wpforms-form .wpforms-submit-container {
    margin-top: 1.5em;
}

.wpforms-form .wpforms-submit {
    transition-duration: 0s;
}

/* Confirmation */
.wpforms-confirmation-container {
    margin-top: 1rem !important;
    color: var(--e-global-color-text) !important;
}

/* Submit */
.wpforms-form .wpforms-submit {
    transition-duration: .3s;
}



/* --- Partenaires --- */
.partenaires {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
}

.partenaires__item {
    background: #fff;
}

.partenaires__item-wrapper {
    width: 170px;
    overflow: hidden;
    border: 1px solid #eee;
    border-radius: 0;
    aspect-ratio: 4 / 3;
}

.partenaires__item-link {
    display: block;
    height: 100%;
    width: 100%;
}

.partenaires .partenaires__item-logo {
    display: block;
    padding: 1.25em;
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center center;
    aspect-ratio: 4 / 3;
}

@media screen and (max-width: 767px) {
    .partenaires {
        gap: 1rem;
    }

    .partenaires__item-wrapper {
        width: 120px !important;
    }

    .partenaires .partenaires__item-logo {
        padding: 1em;
    }
}

.partenaires__empty {
    text-align: center;
}