/*
 Theme Name:   Catho Bruxelles
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  bxl
*/
html, body {
    overflow-x: hidden;
}
body {
    font-family: 'Open Sans', sans-serif;
    color: #151515;
    line-height: 1.6;
}

.cbp_tmtimeline {
    margin: 30px 0 0 0;
    padding: 0;
    list-style: none;
    position: relative;
}

.cbp_tmtimeline::before {
    background: #eaeaea none repeat scroll 0 0;
    bottom: 50px;
    content: "";
    left: 16.8%;
    margin-left: -10px;
    position: absolute;
    top: 0;
    width: 1px;
}
.cbp_tmtimeline > li .cbp_tmtime {
    display: block;
    padding-right: 35px;
    position: absolute;
    width: 16%;
    padding-top: 83px;
}
.cbp_tmtimeline > li .cbp_tmicon {
    background: #fff none repeat scroll 0 0;
    border: 5px solid #A10F1B;
    border-radius: 50%;
    height: 20px;
    left: 17.5%;
    margin: 0 0 0 -28px;
    position: relative;
    top: 102px;
    width: 20px;
}
.cbp_tmtimeline > li .cbp_tmtime span {
    display: block;
    text-align: right;
}
.cbp_tmtimeline > li .cbp_tmtime span:first-child {
    color: #333333;
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
    text-transform: uppercase;
}
.cbp_tmtimeline > li .cbp_tmlabel .cbp_tmlabel_content {
    padding: 30px;
    padding-left: 40px;
}
.cbp_tmtimeline .cbp_tmlabel .event-thumbnail.col-md-3 {
    padding: 0;
    overflow: hidden;
    width: 50%;
    flex-shrink: 0;
}

.cbp_tmtimeline .cbp_tmlabel .event-thumbnail.col-md-3 A{
    display: block;
}

.event_image {
    display: block;
    height: 100% !important;
    object-fit: cover;
}

.cbp_tmlabel::before {
    content: '';
    position: absolute;
    top: 45%;
    left: -10px;
    border-right: solid 10px #fff;
    border-bottom: solid 10px transparent;
    border-top: solid 10px transparent;
}

.cbp_tmtimeline > li .cbp_tmlabel {
    margin: -17px 0 22px 22%;
    font-weight: 300;
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.1);
    padding: 0px;
    position: relative;
    display: flex;
    align-items: center;
}

.cbp_tmtimeline .cbp_tmlabel a {
    color: #151515;
    font-weight: 700 !important;
}

.elementor-button {
    background: #E39217;
}

.elementor-button-link {
    background: #E39217;
    padding: 15px 30px;
    margin-bottom: 0px;
    color: #fff;
    border-radius: 30px !important;
    overflow: hidden;
    text-transform: uppercase;
    font-weight: 700 !important;
    z-index: 1;
    transition: all 300ms ease 0s;
    -webkit-transition: all 300ms ease 0s;
    line-height: 15px;
    display: inline-block;
}

.elementor-button-link::after {
    height: 100%;
    left: 0;
    top: 0;
    width: 0;
    color: #ffffff;
}

.elementor-button-link {
    position:relative;
    border-style: none;
}

a.elementor-button-link {
    color: white !important;
}

.elementor-button-link {
    font-size: 15px;
}

.elementor-button-link::after {
    transition: all 0.3s;
}

.elementor-button-link::before, .elementor-button-link::after {
    background: #151515;
    content: '';
    border-radius: 30px;
    position: absolute;
    z-index: -1;
}

.elementor-button-link:hover::after {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .elementor-button-link:hover::after {
        width: 0;
    }
}

/* Make .active state use the same background slide effect as :hover */
.elementor-button-link.active::after,
a.elementor-button-link.active::after {
    width: 100%;
}

/* Red variant */
.elementor-button-link.red,
a.elementor-button-link.red {
    background: #A10F1B;
}

.elementor-button-link.red::before,
.elementor-button-link.red::after {
    background: #151515;
}

.cathobel-agenda-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0 8px;
    align-items: center;
}

.cathobel-agenda-pagination a,
.cathobel-agenda-pagination .current {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #e5e5e5;
}

.cathobel-agenda-pagination a {
    color: #151515;
    background: #fff;
    transition: all 200ms ease;
}

.cathobel-agenda-pagination a:hover {
    border-color: #E39217;
    color: #151515;
}

.cathobel-agenda-pagination .current {
    background: #E39217;
    border-color: #E39217;
    color: #fff;
}

.cathobel-agenda-pagination .ellipsis {
    color: #666;
    font-weight: 700;
    padding: 0 2px;
}

/* Styles for Elementor pagination (nav.elementor-pagination .page-numbers) */
.elementor-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0 8px;
    align-items: center;
}

.elementor-pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #e5e5e5;
    background: #fff;
    color: #151515;
    transition: all 200ms ease;
}

.elementor-pagination .page-numbers:hover {
    border-color: #E39217;
    color: #151515;
}

.elementor-pagination .page-numbers.current,
.elementor-pagination .page-numbers[aria-current="page"] {
    background: #E39217;
    border-color: #E39217;
    color: #fff;
}

.elementor-pagination .page-numbers:focus {
    outline: 3px solid rgba(227,146,23,0.15);
    outline-offset: 2px;
}


.rothover {
    overflow:hidden;
}

.rothover IMG {
    transition: 1.5s all;
}
.rothover IMG:hover {
    transform: scale(1.05) rotate(2deg);
}

@media screen and (max-width: 47.2em) {
    .cbp_tmtimeline > li .cbp_tmtime {
        width: 100%;
        position: relative;
        padding: 0 0 20px 0;
        padding-left: 0px;
    }
    .cbp_tmtimeline > li .cbp_tmicon {
        position: relative;
        float: right;
        left: auto;
        margin: -55px 5px 0 0px;
    }
    .cbp_tmtimeline > li .cbp_tmlabel::after {
        right: auto;
        left: 20px;
        border-right-color: transparent;
        border-bottom-color: #3594cb;
        top: -20px;
    }
    .cbp_tmtimeline > li .cbp_tmlabel {
        font-weight: 400;
        font-size: 95%;
    }
    .cbp_tmtimeline > li .cbp_tmlabel {
        margin: 0 0 30px 0;
        padding: 1em;
        font-weight: 400;
        font-size: 95%;
    }
    .cbp_tmtimeline::before {
        display: none;
    }
}

@media only screen and (max-width: 1024px) {
    .cbp_tmtimeline .cbp_tmlabel .event-thumbnail.col-md-3 {
        display: none;
    }
}



.elementor-image-gallery img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    overflow: hidden;
}

.elementor-nav-menu .menu-item-has-children > .sub-menu {
    visibility: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
    display: block !important;
    pointer-events: none;
}

.elementor-nav-menu .menu-item-has-children:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.elementor-sub-item:hover {
    background-color: #fff !important;
    color: #151515 !important;;
}

.elementor-widget-blockquote blockquote.elementor-blockquote::before {
    content: '\201D';
    vertical-align: top;
    font-style: normal;
    text-transform: none;
    line-height: 1;
    font-size: 150px;
    overflow: hidden;
    position: absolute;
    top: 43px;
    left: 25px;
    background: transparent;
    opacity: 0.1;
}

.elementor-widget-blockquote blockquote.elementor-blockquote {
    margin: 20px 0;
    padding: 40px;
    font-size: 15px;
    text-align: left;
    quotes: none;
    box-sizing: border-box;
    font-weight: 600;
    position: relative;
    padding-left: 100px;
    border-left: 3px solid #E39217;

}

.elementor-widget-blockquote .elementor-blockquote__content {
    color: rgb(102, 102, 102) !important;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300 !important;
    font-size: 17px !important;
}

.mobile-menu-search__form .mobile-menu-search__input {
    border-radius: 4px;
    background: #F6F8FB;
}

.mobile-menu-search__form .mobile-menu-search__input:placeholder {
    font-style: italic;
}

.mobile-menu-search__form {
    position: relative;
    margin-bottom: 20px;
}
.mobile-menu-search__form .bi-search {
    position: absolute;
    right: 14px;
    top: 12px;
    pointer-events:none;
    color: #68778D;
}

.elementor-slideshow__title {
    display: none;
}

body, html {
    background-color:transparent !important;
}

.agenda-cat-button {
    margin-right: 20px;
}

.forminator-label {
    font-size: 17px !important;
    font-weight: 300 !important;
}

@media only screen and (max-width: 767px) {
    .cbp_tmtimeline > li .cbp_tmicon {
        display: none;
    }

    .cbp_tmtimeline span {
        text-align: center !important;
    }
    .agenda-cat-button {
        padding: 7px 14px;
        margin-right: 10px;
    }
}


.tippy-box[data-theme~='bxl'] {
    background-color: #E39217;
    color: white;
}

.tippy-box[data-theme~='bxl'][data-placement^='right'] > .tippy-arrow::before {
    border-right-color: #E39217;
}

[data-tippy-root] {
    margin-left: 20px !important;
}

.elementskit-submenu-panel {
    width: fit-content !important;
    min-width: 150px !important;
    white-space: nowrap;
}

H2 {
    text-decoration-thickness: 3px !important;
}

.mega-menu {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 1px solid #e5e5e5;
}

.elementskit-megamenu-panel {
    width: 1000px !important;
}

.mega-menu__columns {
    display: flex;
    gap: 20px;
}

.elementskit-megamenu-panel {
    transform: translateX(-360px) !important;
}

.mega-menu__col * {
    color: #151515 !important;
}

.mega-menu__col-title {
    font-weight: 700 !important;
    margin-bottom: 10px;
    font-size: 14px;
}

.mega-menu__item {
    font-size: 13px;
    display: block;
    margin-bottom: 8px;
}

.mega-menu__col {
    flex: 1;
    width: 200px;
}