/*
    Theme Name: Pépites
    Version: 1.0
    Author: Bastien (Rose & Piment)
*/

@font-face {
    font-family: 'Montserrat Me';
    src: url('fonts/Montserrat-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat Bo';
    src: url('fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat Se';
    src: url('fonts/Montserrat-SemiBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'icomoon';
    src: url('fonts/icomoon.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-cadenas:before {
    content: "\e900";
}
.icon-jury:before {
    content: "\e901";
}
.icon-coup-de-coeur:before {
    content: "\e902";
}
.icon-amelioration:before {
    content: "\e903";
}


/*--------------------------------------------------------------
    Generale
--------------------------------------------------------------*/

body,
html {
    width: 100%;
    height: auto;
    font-size: 14px;
    overflow-x: hidden;
}
body {
    font-family: 'Montserrat Me', Helvetica, sans-serif;
    overflow-x: hidden;
    color: #591e55;
}

section {
    padding: 3rem 0;
}

b,
strong {
    font-family: 'Montserrat Bo', Helvetica, sans-serif;
    font-weight: unset;
}

a {
    color: #591e55;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

button:hover,
button:focus,
a:hover,
a:focus {
    color: #099b98;
    box-shadow: 0 !important;
    outline: 0 !important;
    text-decoration: none;
}

p {
    color: #591e55;
    margin-bottom: 20px;
}
p:last-child {
    margin-bottom: 0;
}

ul {
    list-style: none;
    padding-left: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat Se', Helvetica, sans-serif;
}

figure {
    margin: 0;
}

.card {
    border-radius: 0;
    border: 0;
    background-color: transparent;
}
.card img {
    border-radius: 0 !important;
}

.bg-vert {
    background-color: #099b98;
}
.bg-violet {
    background-color: #9d3189;
}
.bg-jaune {
    background-color: #fabd56;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    /* IE10+ CSS here */
    .card > * {
        flex: 0 0 auto;
    }
}


/*--------------------------------------------------------------
    Header
--------------------------------------------------------------*/

header {
    position: relative;
    z-index: 15;
}
header .navbar .navbar-nav {
    background-color: transparent;
    padding: 0.2rem;
}
header .navbar .navbar-nav li {
    border-radius: 25px;
    padding: 0.2rem 0.1rem;
    margin: 0 0.2rem;
    border: 1px solid transparent;
}
header .navbar .navbar-nav li a {
    font-family: 'Montserrat Bo', Helvetica, sans-serif;
    color: #fff;
    font-size: 1rem;
    text-align: center;
    padding: 0.1rem 1.5rem !important;
    position: relative;
}
header .navbar .navbar-nav li:hover,
header .navbar .navbar-nav li:focus {
    color: #fff;
    border-radius: 25px;
    background: #591e55;
    border: 1px solid #fff;
}

header .navbar .navbar-nav .dropdown-toggle::after {
    display: none;
}
header .navbar .navbar-nav .dropdown-menu {
    border: 0;
    border-radius: 0;
}
header .navbar .navbar-nav .dropdown-menu a {
    font-size: 0.9rem;
    color: #fff !important;
    margin-top: 0;
    white-space: normal;
}
header .navbar .navbar-nav .dropdown-menu a:before {
    display: none;
}
header .navbar .navbar-nav .dropdown-menu a:focus,
header .navbar .navbar-nav .dropdown-menu a:hover {
    background-color: transparent;
    text-decoration: underline;
}

header .card {
    background: rgb(230,198,127);
    background: -moz-linear-gradient(204deg, rgba(230,198,127,1) 9%, rgba(37,122,117,1) 38%, rgba(31,59,74,1) 90%);
    background: -webkit-linear-gradient(204deg, rgba(230,198,127,1) 9%, rgba(37,122,117,1) 38%, rgba(31,59,74,1) 90%);
    background: linear-gradient(204deg, rgba(230,198,127,1) 9%, rgba(37,122,117,1) 38%, rgba(31,59,74,1) 90%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e6c67f",endColorstr="#1f3b4a",GradientType=1);
}
header .card * {
    color: #fff;
}

/* Fixed navigation */

header .navbar.fixed-header {
    background-color: #591e55;
    box-shadow: 0 0 10px rgb(0 0 0 / 50%);
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1500;
}
header .navbar.fixed-header .navbar-toggler {
    color: #fff;
    border-color: #fff;
    margin: 0 auto 1rem;
}
header .navbar.fixed-header .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
header .navbar.fixed-header .navbar-nav {
    border: 0;
}
header .navbar.fixed-header .navbar-nav li a {
    margin-top: 0;
}
header .navbar.fixed-header .navbar-nav li a:before {
    display: none;
}

/* Logges navigation */

.logged-in header .navbar.fixed-header {
    margin-top: 32px;
}

@media screen and (max-width: 991px) {
    header .navbar .navbar-nav li a {
        padding: 0.1rem 1rem !important;
    }
    header .logo {
        max-width: 21rem;
        display: block;
        margin: 0 auto 2rem;
    }
}

@media screen and (max-width: 767px) {
    header .navbar .navbar-nav {
        margin: 0 auto !important;
    }
}

@media screen and (max-width: 575px) {
    header .navbar .navbar-nav li {
        border-right: 0;
    }
    header .navbar .navbar-nav li a {
        text-align: center;
        padding: 0.3rem 0 !important;
    }
    header .navbar .navbar-toggler {
        color: #591e55;
        border-color: #591e55;
        margin: 0 auto 1rem;
    }
    header .navbar .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(89,30,85,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
    }
    header .navbar .navbar-nav {
        margin-top: 1rem;
    }
    header .navbar .navbar-nav li {
        text-align: center;
        padding: 0.2rem 0.5rem;
        margin-bottom: 0.5rem;
    }
    header .navbar .navbar-nav li a {
        padding-bottom: 0;
        margin-top: 0;
    }
    header .navbar .navbar-nav li a:before {
        display: none;
    }
    header .navbar .navbar-nav li a br {
        display: none;
    }
}

@media screen and (max-width: 256px) {
    header .logo {
        max-width: 100%;
    }
}

/*--------------------------------------------------------------
    Carousel
--------------------------------------------------------------*/

.carousel .carousel-item {
    height: 100%;
    min-height: 300px;
    background: no-repeat center center scroll;
    background-size: cover;
}
.carousel .carousel-control-next,
.carousel .carousel-control-prev {
    background-color: transparent;
    border: 0;
}


/*--------------------------------------------------------------
    Teasing
--------------------------------------------------------------*/

#teasing .card {
    border-top: 15px solid #9c3289;
}
#teasing .card .img {
    position: relative;
}
#teasing .card .card-title {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    font-size: 2rem;
    z-index: 10;
    transform: translateY(-50%);
    right: 0;
    text-align: center;
}
#teasing .card .card-title i {
    font-size: 4rem;
    display: block;
}


/*--------------------------------------------------------------
    Concours
--------------------------------------------------------------*/

#concours h2 {
    font-size: 4rem;
    text-align: center;
}
#concours h2 span {
    font-family: 'Montserrat Me', Helvetica, sans-serif;
    font-size: 3rem;
}
#concours h2 [class^="icon-"] {
    font-size: 4rem;
}
#concours h3 {
    color: #099b98;
    text-align: center;
    font-size: 3rem;
}

#concours .frise {
    position: relative;
    margin-top: 5rem;
    font-size: 1.5rem;
}
#concours .frise:before,
#concours .frise:last-child:before {
    width: 110%;
    content: " ";
    position: absolute;
    height: 44px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    left: 40%;
    top: -5rem;
}
#concours .frise:before {
    background-image: url(img/frise.svg);
}
#concours .frise:last-child:before {
    background-image: url(img/frise-2.svg);
}

#concours .time-counter {
    text-align: center;
    margin: 0 auto;
}
#concours .timer-column .inner-column {
    position: relative;
    padding: 0 25px 40px;
}
#concours .time-countdown .counter-column {
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 46px;
    font-size: 45px;
    color: #fff;
    text-align: center;
    right: 0;
    left: 0;
}
#concours .time-countdown .counter-column:before {
    position: absolute;
    right: -50px;
    top: 60px;
    height: 26px;
    width: 8px;
    background-image: url('img/time-dots.png');
    content: "";
}
#concours .time-countdown .counter-column:last-child:before {
    display: none;
}
#concours .time-countdown .counter-column .count {
    font-family: 'KaushanScript Re', Helvetica, sans-serif;
    position: relative;
    display: block;
    font-size: 45px;
    color: #fff;
}
#concours .count-column .count-box {
    position: relative;
    display: block;
    font-size: 45px;
    color: #fff;
    padding-top: 30px;
}
#concours .anim-icons .icon {
    opacity: .15;
}

@media screen and (max-width: 991px) {
    #concours .frise {
        font-size: 1.35rem;
    }
}

@media screen and (max-width: 767px) {
    #concours .frise {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 575px) {
    #concours .frise {
        margin-bottom: 3rem;
        margin-top: 0;
    }
    #concours .frise:before,
    #concours .frise:last-child:before {
        display: none;
    }

    #concours .time-countdown .counter-column,
    #concours .time-countdown .counter-column .count,
    #concours .count-column .count-box {
        font-size: 30px;
        line-height: 31px;
    }
}


/*--------------------------------------------------------------
    Laureats
--------------------------------------------------------------*/

#laureats {
    background: rgb(230,198,127);
    background: -moz-linear-gradient(204deg, rgba(230,198,127,1) 9%, rgba(37,122,117,1) 38%, rgba(31,59,74,1) 90%);
    background: -webkit-linear-gradient(204deg, rgba(230,198,127,1) 9%, rgba(37,122,117,1) 38%, rgba(31,59,74,1) 90%);
    background: linear-gradient(204deg, rgba(230,198,127,1) 9%, rgba(37,122,117,1) 38%, rgba(31,59,74,1) 90%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e6c67f",endColorstr="#1f3b4a",GradientType=1);
}
#laureats a:hover,
#laureats a:focus {
    color: #fff;
}
#laureats h2 {
    color: #fff;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 2rem;
}

[id^="laureats"] .card {
    border-top: 15px solid #9c3289;
}
[id^="laureats"] .card .img {
    position: relative;
}
[id^="laureats"] .card .img::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f144";
    position: absolute;
    bottom: 0;
    left: 1rem;
    font-size: 4rem;
    z-index: 10;
}
#laureats .card h3 {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 0;
}
#laureats .card h3 * {
    color: #fff;
}
#laureats .button {
    display: table;
    font-size: 0.9rem;
    height: auto;
    padding: 0.5rem 2rem;
    color: #fff;
    background: #9c3289;
    border: 1px solid #9c3289;
    border-radius: 25px;
    outline: none;
    margin: 2rem auto 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
#laureats .button:hover {
    color: #fff;
    border-radius: 25px;
    background: #591e55;
    border: 1px solid #fff;
}

#laureats-archive h1 {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 2rem;
}
#laureats-archive .card h3 * {
    font-size: 1.2rem;
    text-align: left;
}

#laureats-archive span.page-numbers.current {
    color: #a8307c;
    font-size: 1.5rem;
}


/*--------------------------------------------------------------
    Contact
--------------------------------------------------------------*/

#contact h2 {
    color: #099b98;
    font-size: 3rem;
    text-align: center;
}
#contact h3 {
    color: #591e55;
    text-align: center;
    font-size: 2rem;
}


/*--------------------------------------------------------------
    Contact (Form)
--------------------------------------------------------------*/

#contact-us {
    padding: 3rem;
    border: 1px solid #9c3289;
    border-radius: 25px;
}
#contact-us .form {
    width: 100%;
    height: 50px;
    padding: 10px 15px;
    background: #fafafa;
    border: 1px solid #9c3289;
    margin-bottom: 15px;
    color: #591e55 !important;
    font-size: 0.8rem;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
    border-radius: 25px;
}
#contact-us .form:hover {
    border: 1px solid #9c3289;
}
#contact-us .form:focus {
    color: #fff;
    outline: none;
    border: 1px solid #9c3289;
}
#contact-us textarea {
    height: 17.7rem !important;
    max-width: 100%;
}
#contact-us .form-btn {
    display: block;
    font-size: 0.9rem;
    height: auto;
    padding: 0.5rem 2rem;
    color: #fff;
    background: #9c3289;
    border: 1px solid #9c3289;
    border-radius: 25px;
    outline: none;
    margin-top: 0;
    margin-left: auto;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
#contact-us .form-btn:hover {
    background: #099b98;
    color: #fff;
    border: 1px solid #099b98;
}
#contact-us .form-btn:active {
    opacity: 0.9;
}
#contact-us .wpcf7-list-item {
    margin: 0 !important;
}

#contact-us ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #591e55;
    opacity: 1; /* Firefox */
}

#contact-us :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #591e55;
}

#contact-us ::-ms-input-placeholder { /* Microsoft Edge */
    color: #591e55;
}

.wpcf7-list-item-label {
    color: #591e55 !important;
    font-size: 66%;
    text-align: justify;
}
.wpcf7-spinner {
    display: none;
}

.grecaptcha-badge {
    display: none;
}


/*--------------------------------------------------------------
    Espace Candidat
--------------------------------------------------------------*/

#espace-candidat h1 {
    color: #099b98;
    font-size: 3rem;
    text-align: center;
}
#espace-candidat .sous-titre {
    color: #591e55;
    text-align: center;
    font-size: 2rem;
}
#espace-candidat .form:hover {
    border: 1px solid #9c3289;
}
#espace-candidat .form:focus {
    color: #fff;
    outline: none;
    border: 1px solid #9c3289;
}

#espace-candidat .header-form {
    background-color: #d4ebea !important;
    padding: 5rem 3rem 0;
    border-radius: 0 !important;
    position: relative;
}
#espace-candidat .header-form::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f2bd";
    position: absolute;
    top: -2.7rem;
    left: 0;
    font-size: 6rem;
    z-index: 10;
    right: 0;
    color: #099b98;
}
#espace-candidat .header-form .frm_primary_label {
    font-size: 1.2rem;
    color: #099b98;
}
#espace-candidat .header-form input[type="text"],
#espace-candidat .header-form input[type="email"],
#espace-candidat .header-form input[type="tel"],
#espace-candidat .header-form select {
    width: 100%;
    height: 45px;
    padding: 10px 15px;
    background: #fafafa;
    border: 1px solid #d4ebea;
    margin-bottom: 5px;
    color: #099b98 !important;
    font-size: 1.2em;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
    border-radius: 25px;
}

#espace-candidat .frm_section_heading {
    background-color: #099b98;
    text-align: center;
    border-radius: 4rem;
    margin-top: 15px !important;
}
#espace-candidat .frm_section_heading h3 {
    font-family: 'Montserrat Se', Helvetica, sans-serif;
    border-top: 0;
    color: #fff;
    font-size: 1.8rem;
}
#espace-candidat .frm_section_heading h3 *:not(i) {
    background: #9b3189;
    display: inline;
    font-size: 75%;
    border-radius: 25px;
    padding: 0.1rem 0.5rem;
    white-space: nowrap;
}

#espace-candidat .frm_section_heading .point label {
    color: #9d3189 !important;
}
#espace-candidat .frm_section_heading .point input {
    font-family: 'Montserrat Se', Helvetica, sans-serif;
    background: #9d3189;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    border-radius: 25px;
    border: 0;
}
#espace-candidat .frm_section_heading .notation label {
    color: #fabd56 !important;
}
#espace-candidat .frm_section_heading .notation input {
    font-family: 'Montserrat Se', Helvetica, sans-serif;
    background: #fabd56;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    border-radius: 25px;
    border: 0;
}
#espace-candidat .frm_style_style-formidable.with_frm_style .frm_trigger .frm_icon_font.frm_arrow_icon:before {
    color: #fff;
}
#espace-candidat .frm_section_heading .frm_section_spacing {
    font-family: 'Montserrat Se', Helvetica, sans-serif;
    margin-bottom: 10px;
    text-align: center;
    display: block;
    color: #fff;
    font-size: 1rem;
}

#espace-candidat .total {
    height: 50px;
    display: flex;
    align-items: center;
    margin: 2rem auto !important;
    background: #fabd56;
    padding: 1rem;
    border-radius: 25px;
}
#espace-candidat .total label {
    font-size: 1.8rem;
    display: inline;
    padding-bottom: 0;
    padding-right: 1rem;
    color: #fff;
}
#espace-candidat .total input {
    display: inline;
    width: auto;
    font-family: 'Montserrat Se', Helvetica, sans-serif;
    background: #fff;
    text-align: center;
    color: #fabd56;
    font-size: 1.3rem;
    border-radius: 25px;
    border: 0;
}

#espace-candidat .amelioration label,
#espace-candidat .coup-de-coeur label {
    font-family: 'Montserrat Se', Helvetica, sans-serif;
    font-size: 1.8rem;
    position: relative;
    padding-left: 7rem;
    margin-top: 1rem;
    margin-bottom: 2rem;
    color: #9d3189;
}
#espace-candidat .coup-de-coeur label::before {
    content: "\e902";
}
#espace-candidat .amelioration label::before {
    content: "\e903";
}
#espace-candidat .coup-de-coeur label::before,
#espace-candidat .amelioration label::before {
    color: #9d3189;
    font-family: "icomoon";
    position: absolute;
    font-size: 6rem;
    z-index: 1;
    left: 0rem;
    top: 50%;
    transform: translateY(-50%);
}
#espace-candidat .coup-de-coeur textarea,
#espace-candidat .amelioration textarea {
    border-color: #9d3189;
}

#espace-candidat .frm_grid_container {
    background-color: #fff;
    padding-top: 2rem;
}
#espace-candidat .frm_grid_container .frm_form_field.frm_three_fourths {
    background-color: #d4ebea;
    padding: 2rem;
    border-radius: 2rem;
    margin-bottom: 2rem;
}
#espace-candidat .frm_grid_container .frm_form_field label,
#espace-candidat .frm_grid_container .frm_form_field .frm_description {
    color: #591e55;
}
#espace-candidat .frm_grid_container .frm_form_field label {
    font-family: 'Montserrat Me', Helvetica, sans-serif;
    font-size: 1.2rem;
}
#espace-candidat .frm_grid_container textarea {
    border: 1px solid #9d3189;
    border-radius: 25px;
}
#espace-candidat .frm_dropzone {
    background-color: transparent !important;
}
#espace-candidat .frm_dropzone .dz-message {
    border: 0 !important;
    background: #68bab7 !important;
    border-radius: 25px !important;
    color: #fff !important;
    margin: 0 !important;
}
#espace-candidat .with_frm_style a.frm_save_draft {
    width: auto;
    font-size: 15px;
    height: auto;
    line-height: normal;
    text-align: center;
    background: #c55cb2;
    border-width: 1px;
    border-color: #c55cb2;
    border-style: solid;
    color: #ffffff;
    cursor: pointer;
    font-weight: normal;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    text-shadow: none;
    padding: 10px 20px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-shadow: 0 1px 1px #eeeeee;
    -webkit-box-shadow: 0 1px 1px #eeeeee;
    box-shadow: 0 1px 1px #eeeeee;
    margin: 10px;
    margin-left: 0;
    margin-right: 0;
    vertical-align: middle;
}
#espace-candidat .frm_dropzone .frm_upload_icon:before {
    color: #fff !important;
}
#espace-candidat .frm_dropzone.frm_single_upload {
    max-width: 100% !important;
}

#espace-candidat .point ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #fff;
    opacity: 1; /* Firefox */
}

#espace-candidat .point :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #fff;
}

#espace-candidat .point ::-ms-input-placeholder { /* Microsoft Edge */
    color: #fff;
}


/*--------------------------------------------------------------
    Espace Jury
--------------------------------------------------------------*/

#espace-candidat .jury h1 {
    color: #9c3289;
    font-size: 3rem;
    text-align: center;
    position: relative;
    padding-left: 7rem;
    display: table;
    margin: 0 auto 2rem;
}
#espace-candidat .jury h1::before {
    font-family: "icomoon";
    content: "\e901";
    position: absolute;
    font-size: 6rem;
    z-index: 1;
    left: 0rem;
    top: 50%;
    transform: translateY(-50%);
}
#espace-candidat .jury .sous-titre {
    color: #591e55;
    text-align: center;
    font-size: 1.2rem;
}
#espace-candidat .jury h2 {
    color: #099b98;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 3rem;
}

#espace-candidat [id^="frm_del_container_"] {
    background-color: #9d3189;
    width: calc(30% - 0.5rem);
    display: inline-block;
    margin: 0 1rem;
    padding: 1rem 1rem 1.45rem;
    border-radius: 30px;
    color: #fff;
    font-size: 1.5rem;
}
#espace-candidat [id^="frm_del_container_"] p {
    line-height: 0.5;
}
#espace-candidat [id^="frm_del_container_"] p a {
    font-size: 1rem;
}
#espace-candidat [id^="frm_del_container_"].selected {
    background-color: #fff;
    width: 100%;
    display: inline-block;
    margin: 0 1rem;
    padding: 1rem 1rem 1.45rem;
    border-radius: 30px;
    color: #fff;
    font-size: unset;
}

/*--------------------------------------------------------------
    Mot de passe
--------------------------------------------------------------*/

.post-password-form input {
    width: auto;
    height: 45px;
    padding: 10px 15px;
    background: #fafafa;
    border: 1px solid #9c3289;
    margin-bottom: 5px;
    color: #9c3289;
    font-size: 1.2em;
    border-radius: 0;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    border-right: 0;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}
.post-password-form .button-primary {
    display: block;
    font-size: 0.9rem;
    height: 45px;
    margin-bottom: 5px;
    padding: 0.5rem 2rem;
    color: #fff;
    background: #9c3289;
    border: 1px solid #9c3289;
    outline: none;
    margin-top: 0;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
    border-left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.post-password-form ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #591e55;
    opacity: 1; /* Firefox */
}

.post-password-form :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #591e55;
}

.post-password-form ::-ms-input-placeholder { /* Microsoft Edge */
    color: #591e55;
}


/*--------------------------------------------------------------
    Login
--------------------------------------------------------------*/

#loginform {
    background: #099b98;
    padding: 1.5rem 2rem 1rem;
    margin: 0 auto;
    border-radius: 25px;
    width: 400px;
}
#loginform p {
    margin-bottom: 10px;
}
#loginform label {
    color: #fff;
    font-size: 1.2rem;
}
#loginform input[type=text],
#loginform input[type=password] {
    width: 100%;
    height: 32.5px;
    padding: 10px 15px;
    background: #fafafa;
    border: 1px solid #fafafa;
    border-radius: 25px;
    margin-bottom: 5px;
    color: #222 !important;
    font-size: 0.8rem;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}
#loginform input[type=submit] {
    display: block;
    font-size: 0.9rem;
    height: auto;
    padding: 0.5rem 2rem;
    color: #fff;
    background: #9c3289;
    border: 1px solid #9c3289;
    border-radius: 0;
    outline: none;
    margin: 0 auto;
    border-radius: 25px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
#loginform input[type=submit]:hover {
    background: #591e55;
    color: #fff;
    border: 1px solid #591e55;
}


/*--------------------------------------------------------------
    Carré
--------------------------------------------------------------*/

.square-box {
    position: relative;
    width: 100%;
    min-width: 200px;
    max-width: 250px;
    overflow: hidden;
    display: table-cell;
}
.square-box:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.square-box .square-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.square-box .square-content div {
    display: table;
    width: 100%;
    height: 100%;
}
.square-box .square-content div > span {
    font-family: 'Ubuntu Me', Helvetica, sans-serif;
    color: #fff;
    font-size: 1rem;
    text-transform: uppercase;
    background-repeat: no-repeat;
    background-size: cover;
    display: table-cell;
    vertical-align: middle;
    line-height: 1.3;
}
.square-box .square-content div > span .counter {
    font-size: 2.5rem;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .square-box {
        min-width: 175px;
    }
}

@media screen and (max-width: 575px) {
    .square-box {
        min-width: 100px;
        display: block;
    }
}


/*--------------------------------------------------------------
    Parallax
--------------------------------------------------------------*/

.parallax {
    position: relative;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    padding: 3rem 0;
}


/*--------------------------------------------------------------
    Footer
--------------------------------------------------------------*/

footer .border-title {
    position: relative;
    margin-bottom: 0.4rem;
}
footer .border-title:before {
    content: "";
    position: absolute;
    background-color: #9c3289;
    height: 1px;
    width: 100%;
    top: 50%;
}
footer .border-title h3 {
    background-color: #fff;
    font-size: 1.1rem;
    text-transform: uppercase;
    display: table;
    position: relative;
    padding: 0 1.5rem;
    margin: 0 auto;
    position: relative;
}
footer .border-title h3:before {
    content: "Organisateurs";
    top: 2rem;
    position: absolute;
    left: -10rem;
}
footer .pre-footer {
    background-color: #fff;
}
footer .pre-footer ul.nav_footer {
    font-family: 'Montserrat Bo', Helvetica, sans-serif;
    list-style-type: none;
    margin-bottom: 1.5rem;
    text-align: center;
}
footer .pre-footer ul.nav_footer:last-of-type {
    margin-bottom: 0;
}
footer .pre-footer ul.nav_footer li:last-child {
    margin-bottom: 0;
}
footer .pre-footer ul.nav_footer li a {
    color: #591e55;
    font-size: 1.2rem;
}
footer .pre-footer ul.nav_footer li a:hover,
footer .pre-footer ul.nav_footer li a:focus {
    color: #099b98;
    text-decoration: underline;
}
footer .pre-footer .social-links {
    text-align: center;
}

footer .footer * {
    color: #ccc;
}

@media screen and (max-width: 767px) {
    footer .pre-footer .border-right {
        border-right: 0 !important;
    }
}

@media screen and (max-width: 575px) {
    footer .border-title h3:before {
        top: -2rem;
        left: 0;
        right: 0;
        text-align: center;
    }
    footer .pre-footer img {
        margin: 0 auto;
    }
    footer .pre-footer .social-links,
    footer .pre-footer ul.nav_footer {
        text-align: center;
    }
}


/*--------------------------------------------------------------
    Back to Top
--------------------------------------------------------------*/

.scroll-to-top {
    position: fixed;
    bottom: 15px;
    right: 15px;
    width: 60px;
    height: 60px;
    color: #fff;
    font-size: 24px;
    text-transform: uppercase;
    line-height: 60px;
    text-align: center;
    z-index: 100;
    border-radius: 50%;
    cursor: pointer;
    background-color: #591e55;
    display: none;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    transition: all 300ms ease;
}

.scroll-to-top:hover {
    color: #fff;
    background-color: #099b98;
}


/*--------------------------------------------------------------
    Logo Slider
--------------------------------------------------------------*/

#carousel-logo .slick-slide {
    margin: 0 20px;
}
#carousel-logo .slick-slide img {
    width: 100%;
}
#carousel-logo .slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
#carousel-logo .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
#carousel-logo .slick-list:focus {
    outline: none;
}
#carousel-logo .slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
#carousel-logo .slick-slider .slick-track,
#carousel-logo .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
#carousel-logo .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}
#carousel-logo .slick-track:before,
#carousel-logo .slick-track:after {
    display: table;
    content: '';
}
#carousel-logo .slick-track:after {
    clear: both;
}
#carousel-logo .slick-loading .slick-track {
    visibility: hidden;
}
#carousel-logo .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
#carousel-logo [dir='rtl'] .slick-slide {
    float: right;
}
#carousel-logo .slick-slide img {
    display: block;
}
#carousel-logo .slick-slide.slick-loading img {
    display: none;
}
#carousel-logo .slick-slide.dragging img {
    pointer-events: none;
}
#carousel-logo .slick-initialized .slick-slide {
    display: block;
}
#carousel-logo .slick-loading .slick-slide {
    visibility: hidden;
}
#carousel-logo .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
#carousel-logo .slick-arrow.slick-hidden {
    display: none;
}
#carousel-logo .slick-dots {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 1rem 0;
    list-style-type: none;
    margin-top: 2rem;
}
#carousel-logo .slick-dots li {
    margin: 0 0.25rem;
}
#carousel-logo .slick-dots button {
    display: block;
    width: 1rem;
    height: 1rem;
    padding: 0;
    border: none;
    border-radius: 100%;
    background-color: #003567;
    text-indent: -9999px;
}
#carousel-logo .slick-dots li.slick-active button {
    background-color: #d7cfaf;
}
#carousel-logo .slick-arrow.slick-hidden {
    display: none;
}
#carousel-logo .slick-prev,
#carousel-logo .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: #fd7666;
    z-index: 15;
}
#carousel-logo .slick-next {
    right: 0;
}
#carousel-logo .slick-prev {
    left: 0;
}
#carousel-logo .slick-prev:before,
#carousel-logo .slick-next:before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 25px;
    line-height: 1;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#carousel-logo .slick-prev:before {
    content: '\f0d9';
    margin-right: 2px;
}
#carousel-logo .slick-next:before {
    content: '\f0da';
    margin-left: 4px;
}


/*--------------------------------------------------------------
    Zoom
--------------------------------------------------------------*/

.zoom {
    position: relative;
    overflow: hidden;
    background: #9c3289;
}
.zoom img,
.zoom:before,
.zoom:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}
.zoom img {
    max-width: 100%;
    backface-visibility: hidden;
    vertical-align: top;
}
.zoom:before,
.zoom:after {
    content: '';
    background-color: #fff;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.zoom:before {
    width: 60px;
    height: 1px;
    left: 100%;
}
.zoom:after {
    height: 60px;
    width: 1px;
    top: 0%;
}
.zoom a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}
.zoom:hover img {
    zoom: 1;
    filter: alpha(opacity=30);
    -webkit-opacity: 0.3;
    opacity: 0.3;
}
.zoom:hover:before,
.zoom:hover:after {
    opacity: 1;
    top: 50%;
    left: 50%;
}


/*--------------------------------------------------------------
    404
--------------------------------------------------------------*/

.erreur {
    height: 100%;
    background-color: #f8f9fa;
}
.erreur .text-wrapper {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.erreur .title {
    font-size: 5em;
    font-weight: 700;
    color: #591e55;
    position: relative;
    text-align: center;
}
.erreur .subtitle {
    font-size: 1.5em;
    font-weight: 700;
    color: #0033a0;
    position: relative;
    text-align: center;
}
.erreur .buttons {
    margin-top: 4em;
}
.erreur .buttons a.button {
    background-color: #ffa81a;
    display: block;
    font-weight: 700;
    text-decoration: none;
    padding: 15px;
    text-transform: uppercase;
    color: white;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.erreur .buttons a.button:hover {
    background-color: #fff;
    color: #ffa81a;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.erreur .subtitle:before,
.erreur .title:before {
    content: attr(data-content);
    position: absolute;
    left: -2px;
    text-shadow: 1px 0 blue;
    top: 0;
    color: white;
    overflow: hidden;
    clip: rect(0, 900px, 0, 0);
    -webkit-animation: noise-anim-2 3s infinite linear alternate-reverse;
    animation: noise-anim-2 3s infinite linear alternate-reverse;
}