/**
Theme Name: Mittelstand-Digital Zentrum Darmstadt
Author: 360vier
Author URI: https://www.360vier.de/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mittelstand-digital-zentrum-darmstadt
Template: astra
*/

/*** Global headlines, font, etc ***/

h1.wp-block-heading,
h2.wp-block-heading {
    hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/*** News form styling ***/

.news-form .gform-body .gfield.gfield--type-text .gfield_label {
    justify-content: center;
}

.news-form .gform-body .gfield .ginput_container_text {
    text-align: center;
}

.news-form .gform_footer {
    justify-content: center;
}

/*** GForm styling ***/

:root {
    --ast-comment-inputs-background: #E8EAED;
}

.gform_wrapper input:not([type=submit]):focus, .gform_wrapper select:focus, .gform_wrapper textarea:focus {
    background: #F9FAFB;
}

.gform_wrapper select {
    height: auto;
}

.gform_wrapper.gravity-theme .gfield-choice-input+label {
    vertical-align: top;
    line-height: 2;
}

/*** Newsletter styling newsletter2go ***/

.newsletter-form label {
    font-size: 14px;
}

.newsletter-form input {
    width: 100%;
    text-align: center;
    background-color: transparent;
    border: 1px solid #000 !important;
    border-radius: 4px !important;
}

.newsletter-form button {
    background-color: #ce0a1e !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    transition: background-color 250ms linear, color 250ms linear;
}

.newsletter-form button:hover {
    background-color: #fff !important;
    color: #ce0a1e !important;
}

form:has(.newsletter-form) h2 {
     font-size: 20px;
    color: #ce0a1e;
}

/*** Newsletter styling Brevo ***/

.sib-form {
    font-family: Monserrat, Monserrat Regular, Helvetica, Arial, sans-serif !important;
}

.sib-form,
#sib-container,
.sib-form-block {
    padding: 0 !important;
}

.sib-form .entry__field {
    border: none !important;
    border-radius: 0 !important;
    margin: 8px 0 !important;
}

.sib-form .input {
    width: 100% !important;
    text-align: center !important;
    background-color: transparent !important;
    border: 1px solid #000 !important;
    border-radius: 4px !important;
}

.sib-form .entry__label {
    margin-top: 15px !important;
}

.sib-form-block__button {
    border-radius: 4px;
    padding: 10px 20px !important;
    color: rgb(255, 255, 255);
    margin: 20px auto 0 auto;
    cursor: pointer !important;
    display: block !important;
    width: 150px;
    min-height: 0 !important;
    line-height: 1 !important;
    background-color: #ce0a1e !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    transition: background-color 250ms linear, color 250ms linear;
}

.sib-form-block__button:hover {
    background-color: #fff !important;
    color: #ce0a1e !important;
}


/*added to the form to change the order (since I can't influence the execution of scripts)*/

form:has(.order-1) {
    order: 1;
}

/*** Slider styling ***/

.bottom-arrows-slider {

    @media screen and (max-width: 1399px) {
       .swiper-button-prev,
       .swiper-button-next {
           top: calc(100% - 50px);
       }

        .swiper-button-prev {
          left: 70px !important;
        }

        .swiper-button-next {
            right: 70px !important;
        }
    }

    @media screen and (max-width: 767px) {
        .swiper-button-prev,
        .swiper-button-next {
            top: calc(100% - 40px);
        }

        .swiper-button-prev {
            left: 30px !important;
        }

        .swiper-button-next {
            right: 30px !important;
        }
    }

}

.teaser-slider-arrows {
    @media screen and (max-width: 767px) {
        .swiper-button-prev,
        .swiper-button-next {
            top: calc(100% - 2px);
        }

        .swiper-button-prev {
            left: 25px !important;
        }

        .swiper-button-next {
            right: 25px !important;
        }
    }
}

/*** The events calender styling ***/

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row {
    display: flex;
    padding-right: 50px;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    border-radius: 38px 0 38px 38px;
    border: 2px solid #cdcccc;
    background: #fff;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag {
    display: flex;
    width: 83px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    border-radius: 30px 0 30px 30px;
    background: #ce0a1e;
    transform: scale(1.02);
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-datetime {
    flex-direction: column-reverse;
    height: unset;
    text-align: unset;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-datetime span.tribe-events-widget-events-list__event-date-tag-daynum {
    font-size: 28px;
    font-style: normal;
    font-weight: 600;
    line-height: 104%; /* 29.12px */
    letter-spacing: -0.56px;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-datetime span.tribe-events-widget-events-list__event-date-tag-month {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 104%; /* 14.56px */
    letter-spacing: -0.28px;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-datetime span {
    color: #fff;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-wrapper {
    padding: 10px 0 15px 0;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-wrapper .tribe-events-widget-events-list__event-details .tribe-events-widget-events-list__event-datetime-wrapper,
.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-tag-wrapper {
    width: fit-content;
    display: inline-block;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-wrapper .tribe-events-widget-events-list__event-details .tribe-events-widget-events-list__event-datetime,
.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-tag-wrapper {
    color: #666;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 104%; /* 14.56px */
    letter-spacing: -0.28px;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-wrapper .tribe-events-widget-events-list__event-details .tribe-events-widget-events-list__event-title {
    color: #000;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 104%; /* 20.8px */
    letter-spacing: -0.4px;
    margin-top: 10px;
    hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.tribe-events-view--widget-events-list .tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-wrapper .tribe-events-widget-events-list__event-details .dhsv-events-excerpt {
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 104%; /* 14.56px */
    letter-spacing: -0.28px;
    margin-top: 10px;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event {
    width: 100%;
}

/*** Single tribe event styling ***/

.ast-separate-container .ast-article-single {
    padding: 3em 0;
}

.tribe-events-meta-group {
    flex: 0 1 calc(50% - 24px);
}

.tribe-events-event-meta.primary,
.tribe-events-event-meta.secondary {
    width: 100%;
}

.tribe-events-venue-map {
    flex: 0 1 calc(50% - 24px);
}

.tribe-venue-location .tribe-events-address .tribe-address {
    display: block;
    margin-bottom: 5px;
}

.single-tribe_events .tribe-events-single-event-description h2 {
    font-size: 1.5rem;
    line-height: 1.5em;
    margin-top: .75em;
}

/*** Posts styling ***/

.uagb-post-grid .uagb-post__image img {
    object-fit: cover;
    aspect-ratio: 413/287;
}

/*** Post category filter styling ***/

#post-category-filter {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

#post-category-filter .taxonomy-group {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

#post-category-filter .taxonomy-group .taxonomy-title {
    margin: 0;
}

#post-category-filter .taxonomy-group .taxonomy-terms {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.filter-button {
    transition: 0.3s ease-in-out;
}

.filter-button:focus {
    color: var(--ast-global-color-5);
    background-color: var(--ast-global-color-4);
}

.filter-button.active {
    background-color: var(--ast-global-color-5);
    color: var(--ast-global-color-8);
}

.filter-button.active span:after {
    content: '✖';
    margin-left: 10px;
    color: var(--ast-global-color-4);
}

.add-filters .post-pagination .page-numbers {
    padding: 5px 10px;
    cursor: pointer;
}

.clear-filters {
    margin-top: 15px;
    border: 1px solid var(--ast-global-color-4);
    color: var(--ast-global-color-5);
    background-color: var(--ast-global-color-4);
    text-decoration: none !important;
    width: fit-content;
    margin-left: auto;
    padding: 10px 20px;
    font-family: inherit;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1em;
    text-transform: uppercase;
    border-radius: 3px;
}

.clear-filters span:after {
    content: '✖';
    margin-left: 10px;
    color: var(--ast-global-color-5);
}

.clear-filters:hover {
    background-color: var(--ast-global-color-5);
    color: var(--ast-global-color-8);
}

.clear-filters:hover span:after {
    color: var(--ast-global-color-4);
}



/*** Post single page styling ***/

.single {
    @media (min-width: 922px) {
        .ast-container {
            max-width: 1240px;
        }
    }
}

.single .entry-header .entry-meta {
    font-size: 0;
}

.single .entry-header .entry-meta .posted-on {
    font-size: 1rem;
}

/*** The download list block styling ***/

.download-list {
    position: relative;
    min-height: 60px;
    padding: 0 30px 0 90px;
    border: 1px solid #CDCCCC;
    border-radius: 25px 30px 30px 25px;
    overflow: hidden;
    margin-bottom: 30px;

    @media (max-width: 640px) {
        padding: 0 15px 0 75px;
    }
}

.download-list a {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    text-decoration: unset !important;
    font-size: 18px;
    font-weight: 600;
    z-index: 2;
    transition: 0.3s ease-in-out;

    @media (max-width: 640px) {
        font-size: 14px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

}

.download-list a .file-size {
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
    color: #666666;
    transition: 0.3s ease-in;
}

.download-list a.wp-block-file__button {
    /*all: unset;*/
    position: absolute;
    border-bottom-right-radius: 25px;
    width: 60px;
    height: 100%;
    margin: 0;
    left: 0;
    z-index: 1;
    transition: 0.3s ease-in-out;
    font-size: 0;
}

.download-list a.wp-block-file__button:after {
    content: url("data:image/svg+xml,%3Csvg width='23' height='23' viewBox='0 0 23 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 17.3765L5.68593 11.5641L6.84907 10.3812L10.6786 14.2107V0H12.3214V14.2107L16.1493 10.3829L17.3141 11.5641L11.5 17.3765ZM2.65486 23C1.89805 23 1.26664 22.747 0.760643 22.241C0.254643 21.735 0.00109524 21.1031 0 20.3451V16.3645H1.64286V20.3451C1.64286 20.5981 1.748 20.8303 1.95829 21.0417C2.16857 21.2531 2.40021 21.3582 2.65321 21.3571H20.3468C20.5987 21.3571 20.8303 21.252 21.0417 21.0417C21.2531 20.8314 21.3582 20.5992 21.3571 20.3451V16.3645H23V20.3451C23 21.102 22.747 21.7334 22.241 22.2394C21.735 22.7454 21.1031 22.9989 20.3451 23H2.65486Z' fill='white'/%3E%3C/svg%3E%0A");
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translate(0, -50%);
    width: 23px;
    height: 23px;
}

.download-list a.wp-block-file__button:hover,
.download-list a.wp-block-file__button:focus {
    background-color: var(--ast-global-color-4);
    opacity: unset;
}

.download-list a.wp-block-file__button span {
    display: none;
}

.download-list:hover a.wp-block-file__button {
    width: 100%;
}

.download-list:hover a {
    color: #ffffff;
}

.download-list:hover a .file-size {
    color: #ffffff;
}

/*** dhsv_events_listing shortcode styling ***/

.dhsv_events_listing > h2 {
    margin-top: 60px;
}

.event-filters {
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    margin-bottom: 20px;
}

.event-filters select {
    min-width: 250px;
}

.event-filters .select2-container--default .select2-selection--multiple {
    border: 1px solid #ce0a1e;
    border-radius: 30px 0 30px 30px;
    padding: 5px 20px;
}

.event-item {
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    border-radius: 30px 0 30px 30px;
    border: 2px solid #cdcccc;
    transition: all 300ms;
    text-decoration: none !important;
    margin-bottom: 20px;
}

.event-item *,
.event-item:hover * {
    text-decoration: none;
}

.event-date {
    flex: 0 1 150px;
    border-radius: 30px 0 30px 30px;
    color: #fff;
    background: #ce0a1e;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    flex-flow: row nowrap;
    gap: 10px;
    transform: scale(1.02);
}

.event-date .event-date-day {
    font-size: 40px;
}

.event-date .event-date-month {
    font-size: 30px;
}

.event-information {
    flex: 0 1 calc(100% - 150px);
    padding: 15px 10px 20px 0;
}

.event-information-meta {
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    color: #666;
}

.event-information-content {
    color: #3a3b3f;
}

.event-information-content h3 {
    margin: 10px 0;
}

.event-information-location {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    gap: 5px;
    color: #666;
}

.select2-container .selection .select2-selection {
    position: relative;
}

.select2-container .selection .select2-selection::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height: 8px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="26px" height="16.043px" viewBox="57 35.171 26 16.043" enable-background="new 57 35.171 26 16.043" xml:space="preserve"><path d="M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z"></path></svg>')
    no-repeat center;
    background-size: contain;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.select2-container .select2-search--inline .select2-search__field {
    transform: translateY(3px);
}

.form-container {
    align-items: center;
    display: flex;
    justify-content: center;
}

.form-container form {
    background-color: #fff;
    border: 1px solid #ce0a1e;
    border-radius: 30px 0 30px 30px;
    position: relative;
}

.form-container form.open .calendar-popup {
    opacity: 1;
}

.form-container form i {
    color: #666;
    padding: 0 10px 0 15px;
}

.form-container form input {
    background-color: transparent !important;
    border: none;
    /*border-left: 1px solid #eee;*/
    padding: 12px 20px;
    outline: none;
}

.form-container form input#filter-startdate {
    width: calc(100% - 45px);
}

.form-container .calendar-popup {
    display: none;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    opacity: 0;
    padding: 10px;
    position: absolute;
    top: calc(100% + 5px);
    transition: all 0.1s linear;
    width: 100%;
}

.form-container form.open .calendar-popup {
    display: block;
}

.form-container .calendar-popup .highlighted {
    color: #fff;
    background-color: #ce0a1e;
}

.form-container .calendar-popup .month-and-year {
    align-items: center;
    display: flex;
    text-align: center;
    text-transform: uppercase;
}

.form-container .calendar-popup .month-and-year h4 {
    width: 100%;
    padding-top: 8px;
}

.form-container .calendar-popup .button {
    background-color: transparent;
    border: none;
    font-weight: bold;
    outline: none;
    position: absolute;
    top: 15px;
}

.form-container .calendar-popup .button:hover {
    cursor: pointer;
}

.form-container .calendar-popup .button.prev {
    left: 10px;
}

.form-container .calendar-popup .button.next {
    right: 10px;
}

.form-container .calendar-popup table {
    font-size: 12px;
    width: 100%;
}

.form-container .calendar-popup table tr {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    padding: 5px 0;
}

.form-container .calendar-popup table tr th,
.form-container .calendar-popup table tr td {
    text-align: center;
}

.form-container .calendar-popup table .day:hover {
    cursor: pointer;
}

.wp-block-uagb-container.alignfull {
    padding-left: 20px;
    padding-right: 20px;
}

#rsvp-now.event-tickets .tribe-tickets__rsvp-wrapper {
    max-width: 100%;
}

#rsvp-now.event-tickets .tribe-tickets__rsvp-actions .tribe-common-c-btn {
    max-width: fit-content;
}

#rsvp-now.event-tickets .tribe-tickets__rsvp-attendance,
#rsvp-now.event-tickets .tribe-tickets__rsvp-availability {
    display: none;
    margin: 0;
    padding: 0;
}

/*#rsvp-now.event-tickets .tribe-tickets__form .tribe-tickets__form-field:nth-child(3) {*/
/*    display: none;*/
/*}*/

.event-tickets form .tribe-tickets__rsvp-ar-form-title {
    display: none;
}

.event-tickets .tribe-tickets__rsvp-wrapper form .tribe-tickets__rsvp-ar-sidebar-wrapper {
    display: none;
}

.event-tickets .tribe-tickets__rsvp-wrapper form .tribe-tickets__rsvp-ar-form-wrapper {
    width: 100%;
}

.event-tickets form .tribe-tickets__form input[type='text'],
.event-tickets form .tribe-tickets__form input[type='email'],
.event-tickets form .tribe-tickets__form select {
    width: 100%;
    max-width: 100%;
    background-color: #fff;
}

.tribe-events-pg-template .ast-oembed-container {
  height: auto !important;
}

@media (max-width: 1300px) {
    footer .site-above-footer-wrap {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 992px) {
    body, .ast-separate-container {
        background-color: transparent !important;
    }

    .event-filters {
        flex-flow: column;
    }

    .form-container form {
        width: 100%;
    }

    .event-information-meta {
        flex-flow: column;
        gap: 5px;
    }

    .event-information-content h3 {
        margin-top: 30px;
        word-break: break-word;
    }

    .event-date {
        flex: 0 1 100px;
        flex-flow: column;
        gap: 10px;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    body, .ast-separate-container {
        background-color: transparent !important;
    }

    .dhsv-logo-gallery .spectra-image-gallery__layout--masonry {
        height: auto !important;
    }

    .dhsv-logo-gallery .spectra-image-gallery__layout--masonry {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
    }

    .dhsv-logo-gallery .spectra-image-gallery__layout--masonry .spectra-image-gallery__media-wrapper--isotope {
        position: unset !important;
        flex: 0 1 50%;
        width: auto;
        padding: 15px;
        left: unset !important;
        top: unset !important;
    }
}

@media (max-width: 544px) {
    body, .ast-separate-container {
        background-color: transparent !important;
    }

    footer .site-above-footer-wrap figure img {
        width: 90vw;
        height: auto;
        margin: 0 auto;
    }
}

.tribe-ticket-full__title {
  font-size: 1.2rem;
  color: #ce0a1e !important;
  line-height: 1.1;
}

.tribe-ticket-full__description {
  font-size: 0.75rem;
  line-height: normal;
  margin-top: 0.325rem !important;
}

