/*
Theme Name: TerrainCash
Author: Prospectiv*
*/

.bg-gray-cl {background-color: var(--color-gray-cl2);}
.overlay-green {position: relative;}
.overlay-green::before {
    position: absolute;
    content: '';
    display: block;
    border-radius: 2rem 0 0 2rem;
    inset: -2.5rem -45vw -2.5rem -4rem;
    background-color: var(--color-green-cl);
}
.color-white {color: white;}
/* Header */
header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    padding-block: .8rem;
    background-color: var(--color-white);
}
header ul.primary {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--size-16) var(--size-16);
}
header ul.primary > *:is(li,li > a) {line-height: 0;}
header ul.primary > li:not(:is(:first-child,.other-nav + .other-nav)) {
    position: relative;
    margin-left: var(--size-55);
}
header ul.primary li.other-nav {
    line-height: 0; 
    margin-block: auto;
}
header ul.primary a {
    position: relative;
    font-weight: 500;
}
header ul.primary > li > a:not([class]) {
    text-transform: uppercase;
    font-size: var(--size-18);
}
header .logo {
    position: relative;
    display: block;
    width: 250px;
}
.rs {
    margin-block: auto;
    width: 2rem;
}
/* Sc 01 */
.sc-01 figure {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.sc-01 figure > img {
    position: relative;
    width: 100%;
    height: 100%;
}
.sc-01 .ctn {
    position: relative;
    height: 667px;
    min-height: calc(100vh - 73.78px);
}
.sc-01 .body {
    position: relative;
    border-radius: 1.8rem;
    padding: 2.5rem 3.4rem;
    background-color: var(--color-white);
    box-shadow: 0 .1rem .7rem var(--color-gray-cl2);
}
.sc-01 .body h1 { line-height: 1; }
.sc-01 .body h1 + * {
    position: relative;
    margin-top: -.8rem;
    display: inline-block;
}
/* Sc 02 */
.sc-02 .ctn {
    position: relative;
    gap: 3rem 10%;
}
.sc-02 .bx-lf h5 {
    text-transform: initial;
    color: var(--color-green);
}
.sc-02 .ctn .lst-3-cards {
    position: relative;
    gap: 2rem;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 3rem;
}
.sc-02 .ctn .lst-3-cards > li {
    position: relative;
    width: min(286px,calc(33.333% - 1.34rem));
}
.sc-02 .ctn .lst-3-cards > li:nth-child(even) {transform: translateY(3rem);}
.sc-02 .ctn .lst-3-cards .body {
    position: relative;
    height: 100%;
    row-gap: .7rem;
    border-radius: 2rem;
    padding: 1.3rem 1.5rem;
    background-color: var(--color-white);
    box-shadow: var(--card-shadow);
}
.sc-02 .ctn .lst-3-cards .body > img {
    position: relative;
    height: 2.7rem;
    width: 2.7rem;
}
.sc-02 .ctn .lst-3-cards .body :is(p,p *) {font-size: var(--size-21);}
/* Sc 03 */
.sc-03 .container-m > [class*="flex"] {gap: 0 10%;}
.sc-03 .bx-lf > figure {
    position: relative;
    height: 100%;
    margin-left: -300px;
}
.sc-03 .bx-lf > figure img {
    position: relative;
    width: 100%;
    height: 100%;
}
.sc-03 .bx-rg { 
    position: relative; 
    display: flex;
    padding-block: 2rem;
    flex-direction: column;
    justify-content: center;
}
.sc-03 .bx-rg :is(h2,p,h6) {color: var(--color-white);}
.sc-03 .bx-rg :is(h5) {color: var(--color-dark);}
.sc-03 .bx-rg :is(h5,h6) {text-transform: initial;}
.sc-03 .bx-rg::before {
    position: absolute;
    content: '';
    inset: 0 -300px 0 -25%;
    background: transparent linear-gradient(89deg, var(--color-green) 0%, var(--color-green-cl) 100%) 0% 0% no-repeat padding-box;
}
.sc-03 [class*="flex-"][class*="-flexdirrow-rev"] .bx-rg::before {inset: 0 -25% 0 -300px;}
.sc-03 [class*="flex-"][class*="-flexdirrow-rev"] .bx-lf > figure {
    margin-left: 0;
    margin-right: -300px;
}
/* Sc 04 */
.sc-04 .cards-list {
    position: relative;
    gap: 4rem 5%;
    display: flex;
    flex-wrap: wrap;
    counter-reset: index;  
    align-items: flex-start;
}
.sc-04 .cards-list li {
    position: relative;
    flex: 0 0 auto;
    align-items: center;
    box-sizing: border-box;
    counter-increment: index; 
    background: var(--color-white);
    box-shadow: var(--card-shadow);
    width: calc(33.333% - (5% / 1.5));
}
:is(.sc-04,.sc-08) .cards-list .card::before {
    position: absolute;
    content: '';
    left: 4rem;
    top: -1.5rem;
    height: 3rem;
    width: .065rem;
    background-color: var(--color-green);
}
.sc-04 .cards-list  .card-body {
    position: relative;
    row-gap: .5rem;
    padding: 2.5rem 2rem 1.5rem;
}
.sc-04 .cards-list .card-body::before {
    position: relative;
    width: 100%;
    line-height: 1;
    display: block;
    font-size: var(--size-98);
    color: var(--color-green-cl);;
    content: counters(index, ".", decimal-leading-zero);
}
.sc-04 .cards-list .card-body > *:nth-child(1) {margin-top: -.7rem;}
.sc-04 .cards-list .card-body h5 {
    position: relative;
    color: var(--color-green);
}
/* Sc 05 */
.sc-05::before {
    position: absolute;
    content: '';
    display: block;
    inset: 0 0 50%;
    background: var(--color-green-lt);
}
.sc-05 .list-cards {position: relative;}
.sc-05 .list-cards {
    display: flex;
    column-gap: 3rem;
    margin-top: -1rem;
}
.sc-05 .list-cards > .arrow {margin-block: auto;}
.sc-05 .list-cards .slick-track {
    position: relative;
    column-gap: 2.2rem;
    padding-block: 1rem;
}
.sc-05 .list-cards .slick-slide {height: inherit;}
.sc-05 .list-cards .slick-slide *:not(.card-body *) { height: 100%; }
.sc-05 .list-cards .card {
    position: relative;
    background: var(--color-white);
    box-shadow: var(--card-shadow);
}
.sc-05 .list-cards .card:not(:nth-child(-n+2)) {display: none;}
.sc-05 .list-cards .card-body {
    row-gap: .5rem;
    padding: 1.5rem 2.5rem;
}
.sc-05 .list-cards .card-body::before {
    position: relative;
    content: '';
    padding: 1.6rem;
    width: fit-content;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(assets/images/pictos/témoignage.svg);
}
.sc-05 .list-cards .card-body h4 {color: var(--color-green);}
.sc-05 .list-cards .card p {font-size: var(--size-21);}
.sc-05 .list-cards .card .name {
    margin-top: auto;
    font-size: var(--size-20);
    color: var(--color-gray);
}
/* Sc 06 */
.sc-06 { position: relative;}
.sc-06 > figure {
    position: absolute;
    inset: 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.sc-06 > figure img {
    position: relative;
    width: 100%;
    height: 100%;
    filter: brightness(.6);
}
.sc-06 .container {
    position: relative;
    z-index: 1;
}
.sc-06 h1 em {color: var(--color-white);}
/* Sc 07 */
.sc-07 figure {position: relative;}
.sc-07 figure img {
    position: relative;
    width: 100%;
    height: 100%;
    transition: all .5s;
}
.sc-07 figure::before {
    position: absolute;
    content: '';
    display: block;
    transition: all .5s;
    inset: 35% 40% -2rem -2rem;
    background-color: var(--color-green-cl);
}
.sc-07 [class*="flex-"][class*="-flexdirrow-rev"] figure::before {inset: 35% -2rem -2rem 40%;}
.sc-07 .container > [class*="flex"] {
    position: relative;
    gap: 2rem 10%;
    justify-content: space-between;
}
.sc-07 h6 {
    text-transform: initial;
    color: var(--color-dark);
}
/* Sc 08 */
.sc-08 .cards-list {
    position: relative;
    gap: 2rem;
    display: flex;
    flex-wrap: wrap;
    max-width: 990px;
    margin-inline: auto;
}
.sc-08 .cards-list .card {
    position: relative;
    width: calc(50% - 1rem);
    background: var(--color-white);
    box-shadow: var(--card-shadow);
}
.sc-08 .cards-list :is(.card,.card .overlay) {transition: all .5s;}
.sc-08 .cards-list:hover .card:not(:hover) { filter: opacity(.5); }
.sc-08 .cards-list:hover .card:not(:hover) .overlay {
    -webkit-backdrop-filter: blur(.1rem);
    backdrop-filter: blur(.1rem);
}
.sc-08 .cards-list .card:hover {transform: scale(1.01); }
.sc-08 .cards-list .card-body {padding: 3rem 2.5rem 2rem;}
.sc-08 h5 {
    text-transform: initial;
    color: var(--color-green);
}
/* Sc 09 */
.sc-09 .container > .flex {
    position: relative;
    gap: 3rem 5%;
    align-items: center;
}
.sc-09 .bx-lf {
    position: relative;
    display: flex;
    row-gap: 1.5rem;
    flex-direction: column;
}
.sc-09 .bx-lf > .header {row-gap: .3rem;}
.sc-09 .bx-lf > .header * { text-transform: initial; }
.sc-09 .bx-lf > .header *:not(.color-white) { color: var(--color-dark); }
.sc-09 .bx-lf > .header h4 {font-weight: 500;}
.sc-09 .bx-lf .wp-forms {
    position: relative;
    gap: 1rem 5%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
.sc-09 .bx-lf .wp-forms .half { width: 47.5%; }
.sc-09 .bx-lf .wp-forms .full { width: 100%; }
.sc-09 .bx-lf .wp-forms h5 {
    font-weight: 500;
    text-transform: initial;
    color: var(--color-white);
}
.sc-09 .bx-lf .wp-forms label {
    font-weight: 500;
    text-transform: initial;
    color: var(--color-dark);
}
.sc-09 .bx-lf .wp-forms > .wp-txt {row-gap: .2rem;}
.sc-09 .bx-lf .wp-forms .check-flex {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
}
.sc-09 .bx-lf .wp-forms .label-flex {
    position: relative;
    display: flex;
    column-gap: .5rem;
    align-items: center;
}
.sc-09 .bx-lf .wp-forms .label-flex span {
    position: relative;
    top: .1rem;
    line-height: 1;
    font-weight: 500;
}
.sc-09 .bx-rg > figure {
    position: relative;
    overflow: hidden;
    margin-right: -350px;
    border-radius: 2rem 0 0 2rem;
}
.sc-09 .bx-rg > figure img {
    position: relative;
    width: 100%;
    height: 100%;
}
.wp-forms .wpcf7-list-item {
    position: relative;
    margin-left: 0;
}
.wp-forms .wpcf7-checkbox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}
.sc-09 .bx-lf .wp-forms .wpcf7-list-item  label {
    position: relative;
    display: flex;
    align-items: center;
    line-height: 1;
    gap: 0.3rem;
}
.sc-09 .bx-lf .wp-forms .wpcf7-list-item label .wpcf7-list-item-label {
    position: relative;
    display: inline-block;
    margin-top: 0.4rem;
    font-weight: 500;
}
.overlay-green :is(select,textarea,input:not(:is([type="button"],[type="submit"],[type="radio"],[type="checkbox"],[type="file"]))) {border: none;}
/* Sc 404 */
.sc-404 {
    position: relative;
    margin-block: 5vh;
}
.sc-404 h1 {
    line-height: .7;
    font-size: 10rem;
}
.sc-404 h2 {
    font-size: 2.5rem;
    color: var(--color-dark);
}
/* Footer */
footer *:not(:is(a:hover)) {color: var(--color-white);}
footer .head {
    position: relative;
    background-color: var(--color-green);
}
footer .nav {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    column-gap: 2rem;
    align-items: center;
    justify-content: space-between;
}
footer .nav a:not([class]) {
    font-weight: 500;
    text-transform: uppercase;
    font-size: var(--size-18);
}
footer .logo {
    position: relative;
    display: block;
    width: 250px;
}
footer .foot {
    position: relative;
    background-color: var(--color-green-cl);
}
footer .foot a:hover {color: var(--color-green);}
footer li.other-nav {
    line-height: 0;
    margin-block: auto;
}