/* Global Syteles */


.css_global_blue_btn{
    text-align: center;
    padding: 15px 0px 0px 0px;
}

.css_global_blue_btn a{
    background-color: #005a8b!important;
    color: #fff!important;
    text-transform: uppercase;
    font-size: 20px;
    padding: 15px 25px;
    margin-top: 15px;
    text-transform: uppercase;

}

.css_global_blue_btn a:hover{
    background-color: #004f7a!important; 
}


.css_global_yellow_btn{
    text-align: center;
    padding: 15px 0px 0px 0px;
}

.css_global_yellow_btn a{
    background-color: #f4bc33!important;  
    text-transform: uppercase;
    font-size: 20px;
    padding: 15px 25px;
    margin-top: 15px;
    color: #ffffff!important;
    text-transform: uppercase;
    margin: 15px 2px 2px 2px;
}

.css_global_yellow_btn a:hover{
    background-color: #005a8b!important;
    border-radius: 4px; 
    border: solid 2px #005a8b;
    margin: 13px 0px 0px 0px;
}


.css_global_background_blue_gradient{
    background: rgb(1,94,143);
    background: radial-gradient(circle, rgba(3,123,178) 0%, rgba(0,138,196) 100%);
}


.css_global_light_btn{
    text-align: center;
    padding: 15px 0px 0px 0px;
}

.css_global_light_btn a{
    background-color: #ffffff!important;
    color: #005a8b!important;
    text-transform: uppercase;
    font-size: 20px;
    padding: 15px 25px;
    margin-top: 15px;
    text-transform: uppercase;
    border:solid 1px #005a8b;

}

.css_global_light_btn a:hover{
    background-color: #fcfcfc!important;
    border:solid 1px #004f7a;
    color: #004f7a!important;
}


@media (max-width: 600px) {

    .css_global_blue_btn a{
        font-size: 15px;
        padding: 15px 10px;
    }

    .css_global_yellow_btn a{
        font-size: 15px;
        padding: 15px 10px;
    }

    .css_global_light_btn a{
        font-size: 15px;
        padding: 15px 10px;
    }

}




/* Sytles for Main Navigation */


.pb-menu-container {
    font-family: Mulish, Helvetica, sans-serif;
}
.pb-menu-content {
    position: relative;
}
.pb-menu-content ul,
.pb-menu-container-sub-box ul {
    list-style: none;
}
.pb-menu-content li {
    float: left;
    font-size: 15px !important;
    padding: 0 20px 0 0 !important;
}

.pb-menu-content a{
    text-decoration: none!important;
    font-weight: 400;
    font-size: 16px important;
    display: block;
    color: #000!important;
}


.pb-menu-content a:hover{
    color: #17417A;   
}

a.pb-menu-content-tab:after {
    content: " \25BE";  /* Unicode for a small down-pointing triangle */
    font-size: 15px;
    vertical-align: middle;
}
.pb-menu-container-sub-box {
    position: absolute;
    background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.9));
    backdrop-filter: blur(10px);
    border-radius: 5px;
    width: 100%;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
    padding: 10px;
    margin-top: 20px;
}
.pb-menu-container-sub-box li {
    float: left;
    width: 25%;
    transition: background-color 0.2s ease;
    background-color: initial;
    border-radius: 4px;
    padding: 6px !important;
    margin: 0 !important;
}
.pb-menu-container-sub-box li::after {
    content: "";
    clear: both;
    display: table;
}
.pb-menu-container-sub-box-indicator {
    width: 70px;
    height: 15px;
    position: absolute;
    top: -15px;
    left: 200px;
    background-size: cover;
    background-repeat: no-repeat;
}
.pb-menu-content-sub-box-category {
    padding-bottom: 10px;
    border-bottom: 2px solid #eaeaea;
}
.pb-menu-content-sub-box-category-title {
    font-weight: bold;
    font-size: 16px !important;
    line-height: 20px;
    padding-bottom: 3px;
}
.pb-menu-content-sub-box-category-subline {
    font-size: 13px !important;
    line-height: 16px;
    color: #666666 !important;
}
.pb-clearfix::after {
    content: "";
    clear: both;
    display: table;
}
.pb-menu-content-sub-box-menu-items ul {
    padding: 10px 0 0 0 !important;
    margin: 0 !important;
}
.pb-menu-content-sub-box-menu-items li {
    font-size: 14px !important;
    line-height: 16px;
    float: none;
    width: 100%;
}
.pb-menu-content-sub-box-menu-items-cta a {
    background-color: #f4bc33;
    color: #000000 !important;
    border-radius: 3px;
}
@media (max-width: 1024px) {
    .pb-menu-container {
        display: none;
    }
}
@media (max-width: 768px) {
    .pb-menu-container-sub-box li {
        float: none;
        width: 100%;
    }
    .pb-menu-container-sub-box {
        display: none !important;
    }
}



#pb-tab-1,
#pb-tab-2,
#pb-tab-3,
.pb-menu-mobile-container {
    display: none;
}





/* FAQ Element */

.css_faq{
    margin: 30px 0px;
}

.faq-item{
    border: solid 1px #EDEDED;
    margin-bottom: 5px;
    padding: 5px;
}

.css_faq h3{
    padding-top: 10px;
    padding-left: 10px;
    margin: 0px!important;
    font-weight: normal!important;
    font-size: 18px!important;
    cursor: pointer;
}

.faq-toggle{
    font-size: 14px!important;
    margin-right: 5px;
}

.faq-answer{
    padding:0px 10px 10px 10px;
}



/* Einleitungs-Element */

.css_einleitung_container{
    margin: -45px 0px 30px 0px;
    padding-bottom: 15px;
    border-bottom: solid 1px #ededed;
    font-size: 22px; 
}

.css_einleitung_container p{
    font-size: 22px; 
    margin-top: 15px;
    margin-bottom: -20px;
}

.css_einleitung_container h2{
    margin-top:30px;
    font-size: 24px!important;
}


.css_einleitung_container ul{
   padding-left: 15px;
}

.css_einleitung_container li{
   padding-left: var(--icon-space);
   font-size: 22px;
   padding-bottom: 10px;
}

.css_einleitung_container li:before {
  content: "\f00c"!important; /* FontAwesome Unicode */
  font-family: FontAwesome;
  display: inline-block;
  margin-left: calc( var(--icon-space) * -1 );
  width: var(--icon-space);
  width: 1.4em!important!important;
}

.css_einleitung_sub_headline{
    border-top: solid 1px #EDEDED;
    border-bottom: solid 1px #EDEDED;
    padding:5px 15px 7px 15px;
    color: #ffffff;
    background-color: #005a8b;
    margin-bottom: -1px;
    font-size: 22px;
}

.css_einleitung_sub_headline img{
    margin-bottom: 15px;
}


/* AVGS Map */

.css_avgs_map_container {
    margin-top: -17px;
}

.css_avgs_map_content {
    max-width: 1400px;
    margin: auto;
    padding: 20px;
}

.css_avgs_map_content h2{
    text-align: center;
    padding: 20px 0px;
}

.css_avgs_map_column {
}

.css_avgs_map {
    position: relative;
    background-image: url("/wp-content/plugins/ds-custom-style-shortcodes/images/avgs-karte-deutschland_grau.png");
    height: 620px;
    background-size: contain;
    background-repeat: no-repeat;
    margin: auto;
    max-width: 500px;

}


.css_avgs_map_item {
    background-color: rgb(0 90 140 / 100%);
    display: block;
    border-radius: 3px;
    width: 80px;
    position: absolute;
    font-size: 13px;
}

.css_avgs_map_item:hover {
    background-color: rgb(0 90 140 / 95%);
}

.css_avgs_map_item a {
    display: block;
    text-align: center;
    color: #fff!important;
    padding: 0px;
    margin: 0px;
    line-height: 22px;
}

.css_avgs_map_item_dot {
    background-color: #f4bc33;
    height: 11px;
    width: 11px;
    border-radius: 7px;
    position: absolute;
    border: solid 1px #999;
}

.css_avgs_map_pos_1 {   
    top: 104px;
    left: 208px;
}
.css_avgs_map_item_dot_1 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_2 {   
    top: 339px;
    left: 35px;
}
.css_avgs_map_item_dot_2 {   
    top: -11px;
    left: -7px;
}

.css_avgs_map_pos_3 {   
    top: 134px;
    left: 67px;
}
.css_avgs_map_item_dot_3 {   
    top: 22px;
    left: 75px;
}

.css_avgs_map_pos_4 {   
    top: 194px;
    left: 193px;
}
.css_avgs_map_item_dot_4 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_5 {   
    top: 184px;
    left: 361px;
}
.css_avgs_map_item_dot_5 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_6 {   
    top: 504px;
    left: 278px;
}
.css_avgs_map_item_dot_6 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_7 {   
    top: 270px;
    left: 312px;
}
.css_avgs_map_item_dot_7 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_8 {   
    top: 444px;
    left: 153px;
}
.css_avgs_map_item_dot_8 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_9 {   
    top: 364px;
    left: 142px;
}
.css_avgs_map_item_dot_9 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_10 {   
    top: 504px;
    left: 108px;
}
.css_avgs_map_item_dot_10 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_11 {   
    top: 418px;
    left: 266px;
}
.css_avgs_map_item_dot_11 {   
    top: 22px;
    left: -7px;
}

.css_avgs_map_pos_12 {   
    top: 270px;
    left: 50px;
}
.css_avgs_map_item_dot_12 {   
    top: 22px;
    left: -7px;
}


.css_avgs_list {
    border-radius: 5px;
    float: left;
    margin-top: 30px;

}



.css_avgs_list ul{
    border-radius: 5px;
    border: solid 1px #fff;
}

.css_avgs_list ul::after {
  content: "";
  clear: both;
  display: table;
  padding: 20px;
}

.css_avgs_list li{
    float: left;
    color: #fff;
    padding: 0px!important;
    margin: 0px!important;
}

.css_avgs_list a{
    display: block;
    padding: 3px 0px 3px 0px;
}

/* Container Query-based styling */

.css_avgs_list ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  list-style-type: none; /* Removes bullet points */
  margin: 0; /* Resets margin for consistency */
}

.css_avgs_list li {
  box-sizing: border-box;
  padding: 10px; /* Adds padding inside each item */
}

/* Adjustments based on assumed maximum width of .css_avgs_list */



@media (min-width: 850px) {
  .css_avgs_list li {
    width: calc(100% / 4); /* 4 columns when width is more than 900px */
  }
}

@media (min-width: 650px) and (max-width: 899px) {
  .css_avgs_list li {
    width: calc(100% / 3); /* 3 columns */
  }
}

@media (min-width: 300px) and (max-width: 649px) {
  .css_avgs_list li {
    width: calc(100% / 2); /* 2 columns */
  }
}

@media (max-width: 299px) {
  .css_avgs_list li {
    width: calc(100% / 2); /* 2 columns */
  }
}

@media only screen and (max-width: 1100px) {





} 

@media only screen and (max-width: 900px) {

    .css_avgs_map_column {
        float: none;
        width: 100%;
    }




} 

@media only screen and (max-width: 700px) {


    .css_avgs_map_column {
        float: none;
        width: 100%;
    }
    
    .css_avgs_map {
        height: 415px;
        margin: auto;
        float: none;
        width: 308px;
    }

    .css_avgs_map_pos_1 {   
    top: 60px;
    left: 138px;
    }
    .css_avgs_map_item_dot_1 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_2 {   
        top: 339px;
        left: 35px;
        display: none;
    }
    .css_avgs_map_item_dot_2 {   
        top: -11px;
        left: -7px;
    }

    .css_avgs_map_pos_3 {   
        top: 81px;
        left: 19px;
    }
    .css_avgs_map_item_dot_3 {   
        top: 22px;
        left: 75px;
    }

    .css_avgs_map_pos_4 {   
        top: 120px;
        left: 126px;
    }
    .css_avgs_map_item_dot_4 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_5 {   
        top: 110px;
        left: 243px;
    }
    .css_avgs_map_item_dot_5 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_6 {   
        top: 332px;
        left: 188px;
    }
    .css_avgs_map_item_dot_6 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_7 {   
        top: 169px;
        left: 212px;
    }
    .css_avgs_map_item_dot_7 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_8 {   
        top: 286px;
        left: 32px;
    }
    .css_avgs_map_item_dot_8 {   
        top: 24px;
        left: 65px;
    }

    .css_avgs_map_pos_9 {   
        top: 234px;
        left: 94px;
    }
    .css_avgs_map_item_dot_9 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_10 {   
        top: 504px;
        left: 108px;
        display: none;
    }
    .css_avgs_map_item_dot_10 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_11 {   
        top: 268px;
        left: 173px;
    }
    .css_avgs_map_item_dot_11 {   
        top: 22px;
        left: -7px;
    }

    .css_avgs_map_pos_12 {   
        top: 172px;
        left: 34px;
    }
    .css_avgs_map_item_dot_12 {   
        top: 22px;
        left: -7px;
    }


}



/* ---- THEME FIXES & OVERRIDES ---- */

.tve-ham-wrap.tve-m-expanded {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* No Proven Expert Banner on Mobile */


@media only screen and (max-width: 500px) {

    .pe-pro-seal-front-page-a{
        display: none!important;
    }

}



/* Tables */

.ninja_clmn_nm_links a{
    background-color: #f4bc33 !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 20px !important;
    font-size: 13px !important;
    display: inline-block;
    transition: all 0.3s;
    cursor: pointer !important;
    text-align: center !important;
    font-weight: normal !important;
    line-height: 1.5 !important;
    margin: 0px !important;
    border-radius: 4px!important;
    font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif!important;
}

.ninja_clmn_nm_links a:hover{
    background-color: #008ac4 !important;
    color: #fff !important;
    padding: 12px 20px !important;
    letter-spacing: 0px !important;
    transition: all 0.3s;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-property: all;

}


/* Global / general CSS Adjustments - NINJA TABLES PLUGIN*/

sup {
    top: -0.44em;
}

/* Continue to ensure the table header cell is relatively positioned */
th.ninja_column_1.ninja_clmn_nm_kategorie {
    position: relative; /* Keeps it as a positioning context */
}

/* Adjusted positioning for the superscript span */
th.ninja_column_1.ninja_clmn_nm_kategorie span {
    position: absolute;
    top: 7!important;
    right: 7px; /* Adjust this to bring the superscript closer to the text, depending on your layout */
    font-size: 70%;
    margin-top: -0.6em; /* Adjusting to better align with the text's vertical position */
}
    
    
/* Adding right borders to all header cells except the first, with doubled ID for increased specificity */
[id^="footable_"][id^="footable_"] tr.footable-header th:not(:first-child) {
    border-left: 1px solid rgba(34,36,38,.1) !important; /* Add right border, adjust color as needed */
}

/* Ensuring the base styling for all th elements, with doubled ID for specificity */
[id^="footable_"][id^="footable_"] tr.footable-header th {
    border: none !important;
    border-bottom: 1px solid rgba(34,36,38,.1) !important; /* Keep the bottom border */
    background-color: rgb(255, 255, 255) !important;
    color: rgba(0, 90, 139, 1) !important;
}


[id^="footable_parent_"][id^="footable_parent_"] li{
    font-size: 1rem;
}

[id^="footable_parent_"][id^="footable_parent_"] ul.custom-bullets {
    list-style: none; /* Removes default bullet points */
    padding-left: 0; 
}

[id^="footable_parent_"][id^="footable_parent_"] ul.custom-bullets li {
    position: relative; /* Establishes a positioning context for pseudo-elements */
    padding-left: 20px; /* Provides space for the custom bullet */
}

[id^="footable_parent_"][id^="footable_parent_"] ul.custom-bullets li::before {
    content: "•"; /* Unicode character for a bullet point */
    color: #005A8B; 
    position: absolute;
    left: 0;
    top: 0; 
    font-size: 20px; 
}

[id^="footable_parent_"][id^="footable_parent_"] a {
    color: #008AC4!important; 
}

[id^="footable_parent_"][id^="footable_parent_"] a:hover {
    color: #005A8B!important; 
}


[id^="footable_parent_"][id^="footable_parent_"] tbody {
    font-size: 15px!important; 
}



[id^="footable_parent_"] thead tr th:first-child {

border-left: 1px solid rgba(193, 192, 192, 1) !important;
background-color: #ffffff!important;
color: #005A8B!important;

}

[id^="footable_parent_"] thead tr th:last-child {

border-right: 1px solid rgba(193, 192, 192, 1) !important;

}

[id^="footable_parent_"] thead tr th{

border-top: 1px solid rgba(193, 192, 192, 1) !important;

}


/* Gravity Forms Style Adjustments*/

.gform-theme--foundation .gform_fields {
    grid-row-gap: 15px !important; /* Adjust the value as needed */
}

/* Change the border color and background color of all Gravity Forms fields */
.gform_wrapper .gfield input[type="text"],
.gform_wrapper .gfield input[type="email"],
.gform_wrapper .gfield input[type="tel"],
.gform_wrapper .gfield input[type="url"],
.gform_wrapper .gfield input[type="number"],
.gform_wrapper .gfield input[type="password"],
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
    border-color: #005A8B !important;
    background-color: #F8F8F8 !important;
}

/* Optional: Add hover and focus styles for better user experience */
.gform_wrapper .gfield input[type="text"]:focus,
.gform_wrapper .gfield input[type="email"]:focus,
.gform_wrapper .gfield input[type="tel"]:focus,
.gform_wrapper .gfield input[type="url"]:focus,
.gform_wrapper .gfield input[type="number"]:focus,
.gform_wrapper .gfield input[type="password"]:focus,
.gform_wrapper .gfield select:focus,
.gform_wrapper .gfield textarea:focus {
    border-color: #003A5C !important; /* Slightly darker shade for focus state */
    background-color: #FFFFFF !important; /* Change background color on focus */
    outline: none; /* Remove default browser focus outline */
}

/* Center the submit button, set padding, and adjust font size */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer .button {
    background-color: #F4BC33 !important;
    color: black !important;
    border: none !important;
    padding: 18px !important; /* Add 15px padding on all sides */
    font-size: 18px !important; /* Set font size to 20px */
    display: block; /* Make the button a block element */
    margin: 0 auto !important; /* Center the button */
    text-align: center;
    width: auto; /* Allow the button to resize based on content */
}

/* Change the background color on hover */
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer .button:hover {
    background-color: #f7c85b !important; /* Slightly brighter shade on hover */
    color: black !important; /* Keep font color black */
 color: black !important; /* Keep font color black */
}

/* Remove the border and padding from the Terms and Conditions text box */
.gform_wrapper .gfield_description,
.gform_wrapper .gfield_consent_description {
    border: none !important; /* Remove the border */
    padding: 0 !important; /* Remove inner padding */
    margin: 10px 0px 0px 0px !important; /* Optional: remove any extra margin */
}