/* 
Theme Name:		 Crossmotion Theme
Theme URI:		 https://crossmotion.nl/
Description:	 Crossmotion Theme is a child theme of Astra
Author:			 Patrick
Author URI:		 https://crossmotion.nl/
Template:		 astra
Version:		 1.0.0
Text Domain:	 crossmotion-theme
*/

/* Elementor loader bypass */

* a {
    text-decoration: none !important;
}

.elementor-widget-text-editor.orange h2 {
    color: var(--e-global-color-accent) !important;
}

.elementor-widget-text-editor a {
    color: var(--e-global-color-accent) !important;
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 1em !important;
    color: darkred !important;
    padding: 0 !important;
    border: none !important;
}
h2 {
    color: var(--e-global-color-primary);
}
.three-line .elementor-widget-video {
    display: none !important;
}
.orange h2 {
    color: var(--e-global-color-accent) !important;
}

.white h2 {
    color: var(--e-global-color-014a446) !important;
}

h3 {
    color: var(--e-global-color-accent) !important;
}

.white h3 {
    color: var(--e-global-color-014a446) !important;
}

.gray h3 {
    color: var(--e-global-color-92bf1a4) !important;
}
.blue h3 {
    color: var(--e-global-color-primary) !important;
}

.review-block h3, .no-margin h3, .no-margin h2, .post_content.elementor-widget-theme-post-content h2, .elementor-widget.elementor-widget-theme-post-content h2 {
    margin:0 !important;
}

.post_content.elementor-widget-theme-post-content a.elementor-button {
    margin-bottom: 10px !important;
}
.elementor-widget.elementor-widget-theme-post-content:not(:has(.circle-btn)) a.elementor-button {
    margin-bottom: 10px !important;
}

a:focus{
    outline: none !important;
}

.e-n-accordion-item-title, .e-n-accordion-item-title-text, .accordion-title {
    font-family: 'Roboto Slab', sans-serif !important;
    color: var(--e-global-color-primary) !important;
    font-size: 18px !important;
    font-weight: 600;
    align-items: start !important;
}

.e-n-accordion-item-title-text {
    margin-top: 5px !important;
}

.e-n-accordion-item-title-icon {
    margin-top: 10px !important;
}

.accordion .accordion-item {
    padding-left: 10px;
}

.accordion .accordion-item.active .accordion-content p {
    padding-bottom: 20px;
    padding-right: 20px;
}

.e-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon svg {
    fill: var(--e-global-color-primary) !important;;
}

body .woocommerce-MyAccount-navigation-link.is-active a {
    background-color: unset !important;
}

.e-n-accordion .e-n-accordion-item:nth-child(odd), .e-n-accordion .e-n-accordion-item:nth-child(odd) > div[role="region"], .accordion .accordion-item:nth-child(odd), .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link:nth-child(odd) {
    background-color: var(--e-global-color-68a1c7e) !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title, .elementor-widget-n-accordion .e-n-accordion-item, .e-n-accordion-item-title ~ div {
    border: none !important;
}

/*.e-n-accordion .e-n-accordion-item, .e-n-accordion .e-n-accordion-item div[role="region"] {*/
/*    border-radius: 20px;*/
/*}*/

.no_underline a, .ast-single-post .entry-content a, a.vv_btn.orange {
    text-decoration: none !important;
}

.no-shadow img, .ast-article-single figure, .ast-article-single img:not(figure img) {
    box-shadow: none;
}

.vv_btn.small a, a.vv_btn.orange, input.wpcf7-form-control[type="submit"], .tribe-link-view-attendee a, .elementor-widget-theme-post-content .elementor-element a.elementor-button, button.lsb-form-button, .elementor-widget-theme-post-content .elementor-element.elementor-widget-button .elementor-button {
    padding: 8px 16px;
}
.vv_btn.big a, .e-loop__load-more a.elementor-button, button.lsb-form-button, .elementor-widget-theme-post-content .elementor-element.elementor-widget-button .elementor-button, .woocommerce-form-login__submit {
    border-radius: 100px;
    font-size: 18px;
}

.thema-block .elementor-widget-heading {
    padding: 10px 0 5px 0 !important;
}
.thema-block h3, .event-block .three-line h2, .blog-block .three-line h2, .team .three-line h3, .toolkit-block h2, .thema-block .elementor-widget-theme-post-content:has(p)  {
    margin: 0 !important;
}

.blog-block .three-line h2 a, .agenda-three-line p, .agenda-three-line, .event-block .three-line h2 a, .toolkit-block .three-line.elementor-widget-theme-post-content, .toolkit-block .three-line.elementor-widget-theme-post-content .elementor-widget-text-editor {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.toolkit-block .three-line.elementor-widget-theme-post-content .elementor-element:has(.elementor-button), .woocommerce-MyAccount-navigation br, .toolkit-block .three-line.elementor-widget-theme-post-content > div > div:not(:first-child) {
    display: none;
}
.event-flex {
    display: flex;
    gap: 10px;
    margin-left: 20px;
    justify-content: start;
}
.share-btn {
    font-size: 30px;
    color: var(--e-global-color-primary);
    padding: 10px 16px;
    box-shadow: 5px 5px 10px 0 rgba(1,1,1,0.15) !important;
}

.linkedin, .xcom { background: white; border-radius: 6px;}

#ast-scroll-top {
    background-color: var(--e-global-color-accent);
    border-radius: 100%;
    &:focus {
        border: none !important;
    }
}

.blog_cats button.e-filter-item {
    font-weight: 400 !important;
    font-size: 12px !important;
}

.event-block .five-line.elementor-widget-theme-post-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-block .five-line > :not(p:first-child), .event-block .agenda-three-line > :not(p:first-child) {
    display: none;
}

.event-block .editorContent {
    display: none !important;
}

.cutoff_cats p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.werkvormen {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

a.vv_btn.orange, .elementor-widget-theme-post-content .elementor-element a.elementor-button, .woocommerce-form-login__submit {
    border-radius: 100px;
    color: white;
    font-family: 'Aptos', sans-serif !important;
}

blockquote {
    margin-bottom: 20px !important;
    border-color: var(--e-global-color-accent) !important;
}
blockquote p {
    font-style: italic !important;
}
blockquote cite {
    color: var(--e-global-color-accent) !important;
    font-style: italic !important;
}

.elementor-element.elementor-button-info .elementor-button {
    background-color: var(--e-global-color-primary) !important;
}

/*.elementor-element a.elementor-button .elementor-button-icon {*/
/*    display: none !important;*/
/*}*/

.kennisdeling .elementor-loop-container .e-loop-item {
    padding: 10px !important;
}

.werkvorm h3 {
    color: var(--e-global-color-accent) !important;
    padding-bottom: 20px;
    font-weight: bold;
}

.werkvorm p {
    color: var(--e-global-color-text) !important;
    font-family: 'Aptos', sans-serif;
}

.vv_btn a, button.lsb-form-button, input.wpcf7-form-control[type="submit"], .tribe-link-view-attendee a {
    background-color: var(--e-global-color-accent) !important;
    border-radius: 100px;
}
.vv_btn.orange a, a.vv_btn.orange, .woocommerce-form-login__submit {
    background-color: var(--e-global-color-accent) !important;
}

.vv_text-blue *, .lsb-form-field-error-feedback {
    color: var(--e-global-color-primary) !important;
}

.lsb-field-tag-abonnementen {
    padding: 10px 20px !important;
}

.lsb-form-field-error-feedback {
    font-size: 14px !important;
}

.pad_y {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.pad_t {
    margin-top: 70px !important;
}
.pad_b {
    margin-bottom: 70px !important;
}

.circle-btn a {
    padding: 2px 11px 3px 14px !important;
    border-radius: 100% !important;
    font-family: 'Aptos', sans-serif !important;
    font-weight: 400 !important;
    font-size: 40px !important;
}

.pad_x, .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.custom-search-with-icon .search-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.custom-search-with-icon .search-icon {
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--e-global-color-primary);
    opacity: 0.5;
    height: 43px;
    width: 34px;
    pointer-events: auto;
    cursor: pointer;
    transition: opacity 0.3s;
    padding: 10px 5px;
    background-color: transparent;
}

.white_underline a {
    text-decoration: underline !important;
    color: white !important;
}

.custom-search-with-icon .search-field {
    width: 100%;
    padding: 8px 10px 8px 40px;
    border: 1px solid var(--e-global-color-68a1c7e) !important;
    background-color: var(--e-global-color-68a1c7e) !important;
    border-radius: 100px !important;
    font-size: 14px;
    outline: none;
    color: var(--e-global-color-primary) !important;
    transition: border-color 0.3s;
}

.custom-search-with-icon .search-field::placeholder {
    color: var(--e-global-color-primary);
    opacity:0.5;
    transition: opacity 0.3s;
}

.custom-search-with-icon .search-field:focus {
    border-color: var(--e-global-color-accent) !important;
}

.custom-search-with-icon .search-wrapper:has(.search-field:focus) .search-icon {
    opacity: 1;
}

.section-heading h2 {
        border: 1px var(--e-global-color-accent) solid;
        border-radius: 100px;
        position: relative;
        display: inline-block;
    font-weight: 800 !important;
    padding: 15px 25px 10px;
    font-size: 26px !important;
}

.section-heading h2 img {
    margin-bottom: -10px;
    margin-top: -20px;
}

.favicon h2 {
    border: 1px var(--e-global-color-accent) solid;
    border-radius: 100px;
    position: relative;
    display: inline-block;
    padding: 15px 30px 10px 80px;
    font-weight: 800 !important;
    text-transform: uppercase;
    font-size: 26px !important;
}
.favicon h2::before {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    height: 60px;
    width: 60px;
    background-image: url('/wp-content/uploads/2025/10/favicon.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.favicon-line .elementor-divider-separator{
    position: relative;
    display: inline-block;
}
.favicon-line .elementor-divider-separator::before {
    position: absolute;
    left: 50%;
    top: -31px;
    transform: translateY(-50%);
    content: '';
    height: 60px;
    width: 60px;
    background-image: url('/wp-content/uploads/2025/10/favicon.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.elementor-shortcode:has(.stars){
    margin-top: -6px;
}
.elementor-shortcode .stars {
    color: var(--e-global-color-secondary) !important;
    font-size: 24px;
}

ul:has(li.check-yes) {
    margin: 0 0 1em 0;
}
li.check-yes {
    list-style: none;
    position: relative;
    padding-left: 2.2em;
    color: var(--e-global-color-text);
}

li.check-yes::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0em;
    width: 1.7em;
    height: 1.7em;
    background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300c853'><path d='M9.29 16.29 4.7 11.7a1 1 0 0 1 1.4-1.4l3.59 3.59 9.3-9.3a1 1 0 1 1 1.41 1.42l-10 10a1 1 0 0 1-1.41 0z'/></svg>");
}
ul:has(li):not(li.check-yes):not(li.check-no):not(.sub-menu):not(.woocommerce-MyAccount-navigation ul) {
    margin-left: 20px !important;
}

.post_content a:not(.elementor-button) {
    color: var(--e-global-color-accent) !important;
    transition: color 0.3s;
}
.post_content a:hover:not(.elementor-button) {
    color: var(--e-global-color-secondary) !important;
}

.elementor-pagination .page-numbers {
    background-color: var(--e-global-color-68a1c7e) !important;
    margin: 0 !important;
    padding: 10px 20px;
    transition: background-color .3s;
}
.elementor-pagination .page-numbers:hover {
    background-color: var(--e-global-color-accent) !important;
}
.elementor-pagination .page-numbers.current {
    background-color: var(--e-global-color-accent) !important;
}
.elementor-pagination > .page-numbers.prev:has(+ .page-numbers.current),
.elementor-pagination:has(> .page-numbers.current + .page-numbers.next) .page-numbers.next {
    display: none !important;
}

.elementor-pagination:has(.page-numbers), .lsb-list-id-scmcjqvkpe .lsb-form-checks  {
    display: flex !important;
    gap:10px;
}

.lsb-list-id-scmcjqvkpe .lsb-form-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.lsb-list-id-scmcjqvkpe .lsb-field-tag-abonnementen .lsb-form-label {
    margin-bottom: 0 !important;
}

.elementor-nav-menu .current_page_item  .sub-arrow .e-font-icon-svg,
.elementor-nav-menu .current-menu-parent .sub-arrow .e-font-icon-svg {
    fill: white;
}

.elementor-nav-menu .current-menu-parent > a {
    background-color: var(--e-global-color-accent) !important;
    color: white !important;
}

.post_content h2 {
    margin-top: 0px !important;
}

span.thema-term {
    color: var(--e-global-color-primary);
    font-family: 'Roboto Slab', Sans-serif;
    font-weight: 600;
    line-height: 16px;
    margin: 0;
    padding: 0;
    font-size: 16px;
    display: inline-block;
    word-break: break-word;
}

.js-lsb-form input:focus, .wpcf7-form input:focus, .wpcf7-form textarea:focus, .js-lsb-form input[type="text"]:focus {
    border-color: var(--e-global-color-primary) !important;
    border-style: solid !important;
}

.js-lsb-form input[type="text"], .js-lsb-form fieldset.lsb-form-field-wrapper {
    border-color: var(--ast-border-color);
    background-color: var(--ast-global-dark-bg-style);
    box-shadow: none;
    border-radius: 0;
}

.wpcf7 label, .lsb-form-field-wrapper label span, .lsb-form-field-wrapper label, .lsb-form-field-wrapper legend {
    color: var(--e-global-color-text);
    font-family: 'Aptos', sans-serif;
}

.lsb-form-field-error-feedback {
    color: var(--e-global-color-a62c8aa) !important;
}

/*.training_review p {*/

/*}*/

input[type="text"], input[type="search"], input[type="textarea"], input[type="password"], input[type="number"], li.check-yes {
    font-family: 'Aptos', sans-serif !important;
    font-size: 16px !important;
}

body:not(.rtl) .elementor-9 .elementor-element.elementor-element-04002d3 {
    height: 600px;
}

/* Homepage slider */
@media screen and (min-width: 1921px){
    .elementor-loop-carousel .swiper-slide {
        flex: 0 0 calc(1220px / 3);
        max-width: calc(1220px / 3);
        box-sizing: border-box;
    }

    .elementor-loop-carousel .swiper-wrapper {
        overflow: visible;
    }

    .e-con-inner:has(.gradient-sides) {
        position: relative;
        width: 100%;
        overflow: visible !important;
    }

    .elementor-element-07d4211:has(.gradient-sides)::before,
    .elementor-element-07d4211:has(.gradient-sides)::after {
        content: "";
        position: absolute;
        top: -1px;
        width: 800px;
        height: 101%;
        pointer-events: none;
        z-index: 2;
    }

    .elementor-shortcode:has(.stars){
        margin-top: -6px;
    }
    .elementor-shortcode .stars {
        color: var(--e-global-color-secondary) !important;
        font-size: 24px;
    }

    .elementor-element-07d4211:has(.gradient-sides)::before {
        left: 0;
        background: linear-gradient(to right, #ffffff 50%, transparent 100%);
    }

    .elementor-element-07d4211:has(.gradient-sides)::after {
        right: 0;
        background: linear-gradient(to left, #ffffff 50%, transparent 100%);
    }

    .elementor-swiper-button {
        z-index: 999 !important;
    }

    .gradient-sides .elementor-loop-container {
        overflow: visible !important;
    }
}

@media screen and (min-width: 1023px) and (max-width: 1919px){
    .elementor-loop-carousel .swiper-slide {
        flex: 0 0 calc(1220px / 3);
        max-width: calc(1220px / 3);
        box-sizing: border-box;
    }

    .elementor-loop-carousel .swiper-wrapper {
        overflow: hidden;
    }

    .e-con-inner:has(.gradient-sides) {
        position: relative;
        width: 100%;
        overflow: visible !important;
    }

    .elementor-element-07d4211:has(.gradient-sides)::before,
    .elementor-element-07d4211:has(.gradient-sides)::after {
        content: "";
        position: absolute;
        top: -1px;
        width: 300px;
        height: 101%;
        pointer-events: none;
        z-index: 2;
    }

    .elementor-element-07d4211:has(.gradient-sides)::before {
        left: 0;
        background: linear-gradient(to right, #ffffff 50%, transparent 100%);
    }

    .elementor-element-07d4211:has(.gradient-sides)::after {
        right: 0;
        background: linear-gradient(to left, #ffffff 50%, transparent 100%);
    }

    .elementor-swiper-button {
        z-index: 999 !important;
    }

    .gradient-sides .elementor-loop-container {
        overflow: hidden !important;
    }
}

@media screen and (max-width: 1300px){
    .gradient-sides .elementor-widget-loop-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-next {
        right: calc(0 + 25px) !important;
    }
    .gradient-sides .elementor-widget-loop-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-prev {
        left: calc(0 + 25px) !important;
    }
}

/* Tablet */
@media screen and (max-width: 1023px) {
    .pad_y {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    .pad_t {
        margin-top: 40px !important;
    }
    .pad_b {
        margin-bottom: 40px !important;
    }
    .gradient-sides .e-loop-item {
        margin-right: 10px !important;
    }
    body:not(.rtl) .elementor-9 .elementor-element.elementor-element-04002d3 {
        height: 400px;
    }
}

/* Phone */
@media screen and (max-width: 767px) {
    .pad_x {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .pad_y {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .pad_t {
        margin-top: 20px !important;
    }
    .pad_b {
        margin-bottom: 20px !important;
    }
    table.training-table tbody, table.training-table tbody tr {
        display: flex;
        flex-direction: column;
    }
    .werkvormen {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }
    .gradient-sides .e-loop-item {
         margin-right: 50px !important;
    }
}

/* Video achtergrond */
/*.elementor-9 .elementor-element.elementor-element-617fedc::before {*/
/*    background-image: url("https://staging.vuurvrouwwerkt.nl/wp-content/uploads/2025/11/website_final_480p.webm") !important;*/
/*}*/

.vv_video {
    position: relative;
    overflow: hidden;
    max-height: 600px;
}

.vv_video::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--e-global-color-primary);
    opacity: 0.4;
    z-index: 2;
    pointer-events: none;
}

.vv_video .elementor-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 100% 25%;
    z-index: 1;
}

table.training-table {
    border-collapse: collapse; /* voorkomt dubbele lijnen */
    width: 100%;
    border: none;
}

table.training-table td, table.training-table td p {
    border: none;     /* geen borders */
    padding: 0;       /* geen padding */
    margin: 0;
    vertical-align: top; /* optioneel, zet checkbox bovenaan */
}

.adres-offerte {
    display: flex;
    gap: 10px;
}

.adres-offerte > div > p, .elementor-shortcode p:has(+ .adres-offerte) {
    margin: 0;
}

#tribe-events-pg-template {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: unset !important;
}

#rsvp-now {
    margin-bottom: 30px;
}

.tribe-tickets__rsvp-attendees-wrapper,
.tribe-events:has(.tribe-events-c-subscribe-dropdown__button) .tribe-events-c-subscribe-dropdown__container,
.tribe-link-view-attendee br
{
    display: none !important;
}

.tribe-link-view-attendee a, .tribe-common-c-btn.tribe-tickets__rsvp-actions-button-going, .tribe-common-c-btn.tribe-tickets__rsvp-form-button {
    color: white;
    background-color: var(--e-global-color-accent) !important;
    border-radius: 100px !important;
    width: max-content !important;
}

.event-block .tribe-link-view-attendee {
    display:flex;
    flex-direction: column;
}
