/*
Theme Name: Saint-Mandé Festival
Theme URI: https://idizbox.com
Author: iDizBox
Author URI: https://idizbox.com
Description: Thème - By idizbox - 2025
Version: 1.00
Text Domain: idbxboostrap1
*/

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

:root {
    --white: #FFFFFF;
    --black: #1A1A1A;
    --color-1: #F81C86;
    --color-1hover: #ff007b;
    --color-bg: #FFF5D5;
    --text: #1A1A1A;
}


html, body {
    padding: 0;
    margin: 0;
    width: 100%;
    min-height: 100vh;
    overflow-x: clip;
    overflow-y: visible !important;
}

body {
    background-color: var(--color-bg);
    color: var(--text);
    font-family: "Outfit", sans-serif;
    font-size: 16px;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.mobile_only {
    display: none;
}

:focus {
    outline: 0!important;
}

a, a:visited, a:focus {
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: all .2s ease-in;
    -moz-transition: all .2s ease-in;
    -o-transition: all .2s ease-in;
    transition: all .2s ease-in;
}

.mb_10 { margin-bottom: 10px; }
.mb_15 { margin-bottom: 15px; }
.mb_20 { margin-bottom: 20px; }
.mb_25 { margin-bottom: 25px; }
.mb_30 { margin-bottom: 30px; }
.mb_40 { margin-bottom: 40px; }
.mb_50 { margin-bottom: 50px; }
.mb_60 { margin-bottom: 60px; }
.mt_10 { margin-top: 10px; }
.mt_15 { margin-top: 15px; }
.mt_20 { margin-top: 20px; }
.mt_25 { margin-top: 25px; }
.mt_30 { margin-top: 30px; }
.mt_40 { margin-top: 40px; }
.mt_50 { margin-top: 50px; }
.mt_60 { margin-top: 60px; }

.pb_10 { padding-bottom: 10px; }
.pb_15 { padding-bottom: 15px; }
.pb_20 { padding-bottom: 20px; }
.pb_25 { padding-bottom: 25px; }
.pb_30 { padding-bottom: 30px; }
.pb_40 { padding-bottom: 40px; }
.pb_50 { padding-bottom: 50px; }
.pb_60 { padding-bottom: 60px; }
.pt_10 { padding-top: 10px; }
.pt_15 { padding-top: 15px; }
.pt_20 { padding-top: 20px; }
.pt_25 { padding-top: 25px; }
.pt_30 { padding-top: 30px; }
.pt_40 { padding-top: 40px; }
.pt_50 { padding-top: 50px; }
.pt_60 { padding-top: 60px; }

.pos_rel {
    position: relative;
}

h1, .h1 {
    font-size: 42px;
    font-weight: bold;
    line-height: normal;
    margin-bottom: 0;
}

h2, .h2 {
    font-size: 28px;
    font-weight: bold;
    line-height: normal;
    margin-bottom: 0;
}

h3, .h3 {
    margin-bottom: 0;
    font-weight: bold;
    line-height: normal;
    font-size: 28px;
}

.p_div p:last-of-type {
    margin-bottom: 0;
}

.btn, .btn:active, .btn:visited, .btn:focus {
    background-color: var(--color-1);
    color: var(--white);
    font-size: 16px;
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 10px;
}

.btn:hover {
    background-color: var(--color-1hover);
    color: #FFFFFF;
}

.btn_white, .btn_white:active, .btn_white:visited, .btn_white:focus {
    color: var(--color-1);
    background-color: var(--white);
    border: 2px solid var(--color-1);
    padding: 11px 30px;
}

.page_standard {
    padding-top: 131px;
}

.color_1 {
    color: var(--color-1);
}

.text-justify {
    text-align: justify;
}

.white_page_cont {
    background-color: #FFFFFF;
    padding: 15px;
    border-radius: 10px;
}

.white_page_cont_30 {
    padding: 30px;
}

.p_div a:not(.btn) {
    color: var(--color-1);
}

.svg_color_1 path {
    fill: var(--color-1);
}

/************************************/
/************************************/
/*               NAVBAR             */
/************************************/
/************************************/

.navbar {
    padding: 15px 0;
    background-color: var(--white);
    box-shadow: 2px 3px 7px 0px rgba(0,0,0,0.14);
    -webkit-box-shadow: 2px 3px 7px 0px rgba(0,0,0,0.14);
    -moz-box-shadow: 2px 3px 7px 0px rgba(0,0,0,0.14);
}

.navbar-brand {
    padding: 0;
}

#main_navbar .menu-item {
    padding: 0 20px;
}

#main_navbar .menu-item:first-of-type {
    padding-left: 0;
}

#main_navbar .menu-item:last-of-type {
    padding-right: 0;
}

.nav-link {
    padding: 0 !important;
    color: var(--black);
    font-weight: 600;
    position: relative;
}

.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 5px;
    margin-left: 8px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg width='9' height='5' viewBox='0 0 9 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.47799 3.46394L7.73397 0.207929C7.79931 0.14011 7.878 0.0866292 7.96511 0.0508242C8.05221 0.0150191 8.1458 -0.00230684 8.23995 -4.86371e-05C8.33429 -0.000475883 8.42777 0.0181578 8.51473 0.0547609C8.60168 0.0913641 8.68029 0.145164 8.74593 0.212934C8.81385 0.278924 8.86759 0.358146 8.90371 0.445691C8.93982 0.533236 8.95758 0.627248 8.95595 0.721936C8.95758 0.816625 8.93982 0.910637 8.90371 0.998181C8.86759 1.08573 8.81385 1.16495 8.74593 1.23094L5.33596 4.64195C5.22109 4.75901 5.08316 4.85093 4.93093 4.91194C4.78687 4.96973 4.6332 4.99961 4.47799 4.99995C4.32277 4.99961 4.16904 4.96973 4.02498 4.91194C3.87275 4.85093 3.73482 4.75901 3.61995 4.64195L0.203938 1.22294C0.137678 1.15808 0.0856638 1.08012 0.0512276 0.994031C0.0167913 0.90794 0.000738144 0.815609 0.00398636 0.722943C0.00514317 0.629459 0.0247717 0.537131 0.0618477 0.451306C0.0989237 0.365481 0.152655 0.287864 0.219929 0.222943C0.285919 0.155018 0.365172 0.101347 0.452717 0.0652285C0.540261 0.0291099 0.634274 0.0113189 0.728962 0.0129519C0.82365 0.0113189 0.917663 0.0291099 1.00521 0.0652285C1.09275 0.101347 1.17194 0.155018 1.23793 0.222943L4.47799 3.46394Z' fill='%23010219'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border: none;
    transition: all .15s ease-in-out;
}

.navbar-nav .nav-link.active {
    color: var(--color-1);
}

.btn_billetterie .nav-link {
    background-color: var(--color-1);
    color: var(--white);
    font-size: 16px;
    font-weight: 700;
    padding: 13px 30px !important;
    border-radius: 10px;
}

.btn_billetterie .nav-link:hover {
    background-color: var(--color-1hover);
    color: #FFFFFF;
}

.navbar-nav .btn_billetterie .nav-link.active {
    color: var(--white);
}

.navbar-nav {
    align-items: center;
}

#main_navbar .dropdown-menu .menu-item {
    padding: 0;
}

#main_navbar .dropdown-item.active, #main_navbar .dropdown-item:active {
    color: var(--bluemid);
    background-color: transparent;
}

#main_navbar .dropdown-item:focus, #main_navbar .dropdown-item:hover {
    color: var(--bluemid);
    background-color: transparent;
}

#main_navbar .dropdown-item {
    color: var(--black);
    font-weight: 600;
}

.navbar-toggler {
    background-color: transparent;
    border: 0;
    padding: 0;
    position: absolute;
    right: 0.75rem;
    top: 42px;
}

.navbar-toggler:focus {
    text-decoration: none;
    background-color: none;
    outline: 0;
    box-shadow: none;
}

.navbar-toggler .navbar_togglebar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background-color: var(--black);
}

.navbar-toggler .navbar_togglebar+.navbar_togglebar {
    margin-top: 5px;
}

.nav_open .navbar-toggler .navbar_togglebar_1 {
    transform: rotate(45deg);
    transform-origin: 0% 50%;
}

.nav_open .navbar-toggler .navbar_togglebar_2 {
    opacity: 0;
}

.nav_open .navbar-toggler .navbar_togglebar_3 {
    transform: rotate(-45deg);
    transform-origin: 0% 50%;
    margin-top: 6px;
}

/************************************/
/************************************/
/*              ACCUEIL             */
/************************************/
/************************************/

#home_header {
    padding: 80px 0;
}

#home_header h2 {
    font-size: 24px;
    font-weight: 400;
}

.header_btn_container {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header_image {
    border: 2px solid var(--color-1);
    border-top-left-radius: 10px;
}


/************************************/
/************************************/
/*          PROGRAMMATION           */
/************************************/
/************************************/

.programme_solo_container {
    background-color: var(--white);
    padding: 15px;
    border-radius: 10px;
    position: relative;
    color: var(--color-1);
}

.programme_solo_date_heure {
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.programme_solo_titre {
    margin-bottom: 30px;
}

.programme_solo_resume {
    color: var(--text);
    opacity: 0.8;
}

.programme_solo_infos_cont {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
    padding-top: 30px;
    padding-bottom: 30px;
}

.programme_solo_imgcont {
    position: relative;
    padding-top: 70%;
    overflow: hidden;
    width: 100%;
    border-radius: 10px;
    background-color: var(--color-bg);
}

.programme_solo_imgcont img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.programme_solo_btn_cont {
    margin-top: 15px;
    font-weight: 500;
}

.programme_solo_resume {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.programme_solo_btn_cont span {
    margin-right: 7px;
    -webkit-transition: all .2s ease-in;
    -moz-transition: all .2s ease-in;
    -o-transition: all .2s ease-in;
    transition: all .2s ease-in;
}

.programme_solo_btn_cont svg {
    margin-top: 3px;
}

.programme_solo_btn_cont:hover span {
    margin-right: 12px;
}

.programme_solo_btn_cont {
    margin-top: 15px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
}

.programme_main_date {
    color: var(--color-1);
    font-weight: bold;
    font-size: 28px;
    text-transform: uppercase;
    text-align: center;
}

.swiper-pagination-bullet {
    background: #FFFFFF;
}

.swiper-pagination-bullet-active {
    background: var(--color-1);
}

.programme_solo_noimgcont {
    position: relative;
    padding-top: 70%;
    overflow: hidden;
    width: 100%;
    border-radius: 10px;
    background-color: var(--color-bg);
}

.programme_solo_noimgcont svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75px;
    height: auto;
}

/************************************/
/************************************/
/*           INFORMATIONS           */
/************************************/
/************************************/

.infos_adresses_cont {
    display: flex;
    justify-content: space-between;
}

.white_page_cont_full {
    height: 100%;
}

.partenaire_img_cont {
    position: relative;
    padding-top: 70%;
    overflow: hidden;
    width: 100%;
}

.partenaire_img_cont img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.swiper-button-next:after, .swiper-button-prev:after {
    color: var(--color-1);
    font-size: 22px;
    font-weight: bold;
}

/************************************/
/************************************/
/*           EVENEMENT              */
/************************************/
/************************************/

.evenement_fil_ariane {
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
}

.evenement_solo_titre h1 {
    line-height: 1;
}

.evenement_solo_date_heure {
    color: var(--color-1);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 500;
}

.evenement_solo_lieu {
    color: var(--color-1);
    font-size: 20px;
    text-transform: uppercase;
}

.ratio iframe {
    border-radius: 10px;
}

/************************************/
/************************************/
/*              CONTACT             */
/************************************/
/************************************/

.form-label {
    margin-bottom: 5px;
    font-weight: 500;
}

.is_req {
    color: var(--color-1);
}

.form-control, .form-select {
    border: 1px solid var(--text);
}

textarea#message {
    resize: none;
}

.form-check-input {
    border: 1px solid var(--text);
}

.form-check-input:checked {
    background-color: var(--text);
    border-color: var(--text);
}

.form-control:focus, .form-check-input:focus, .form-select:focus {
    border: 1px solid var(--text);
    box-shadow: none;
}

/************************************/
/************************************/
/*              FOOTER              */
/************************************/
/************************************/

footer {
    padding: 20px 0;
    background-color: var(--white);
}

.footer_copyrights {
    font-size: 11px;
}

footer a {
    color: var(--color-text);
}

ul.footer_social {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 15px;
}

ul.footer_social a {
    background-color: var(--color-1);
    display: flex;
    height: 36px;
    width: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

ul.footer_social a:hover {
    background-color: var(--color-1hover);
}

svg.svg_footer path {
    fill: #FFFFFF;
}

/************************************/
/************************************/
/*          MEDIA QUERIES           */
/************************************/
/************************************/

@media (max-width: 992px) {
    
    /* NAVBAR */
    
    .navbar-collapse ul.navbar-nav {
        position: absolute;
        top: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .navbar-collapse {
        width: 100%;
        background-color: var(--white);
        position: fixed;
        z-index: 9;
        display: block;
        visibility: hidden;
        opacity: 0;
        z-index: -1;
        top: 129px;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all 0.4s;
    }

    .navbar-collapse.show {
        min-height: calc(100vh - 131px);
        visibility: visible;
        opacity: 1;
        z-index: 9;
    }
    
    #main_nav .nav-link {
        text-align: center;
    }
    
    .dropdown-menu[data-bs-popper] {
        border: 0;
        margin-top: 5px;
        text-align: center;
    }
    
    #main_navbar .menu-item, #main_navbar .menu-item:first-of-type, #main_navbar .menu-item:last-of-type {
        padding: 10px;
        padding-left: 10px;
        padding-right: 10px;
    }
    
    #main_navbar .dropdown-menu .menu-item {
        padding: 0 !important;
    }
    
    .header_btn_container {
        flex-direction: column;
        margin-bottom: 30px;
    }
    
    ul.footer_social {
        justify-content: center;
        margin-bottom: 15px;
    }
    
    h1, .h1 {
        font-size: 32px;
    }
    
    .programme_main_date {
        font-size: 24px;
    }
    
    .infos_adresses_cont {
        flex-direction: column;
        gap: 30px;
    }
    
    .evenement_solo_imgcont {
        width: 100%;
    }
    
    .evenement_solo_titre {
        margin-top: 30px;
    }
    
    .evenement_solo_btncont {
        text-align: center;
    }
    
}