/* Loading font-faces here because Elementor cant deal with env changes */
/*
  ALL four weights are registered under the single family name "Roboto".
  There is no separate "Roboto Light" family – weight 300 is the light cut.
  This matches the Viseca Roboto Spec v3 and the 01-typography.css cascade.
*/
@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/wp-content/themes/maxomedia-starter-child/assets/fonts/roboto-latin-300-normal.woff2") format("woff2");
}

@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/maxomedia-starter-child/assets/fonts/roboto-latin-400-normal.woff2") format("woff2");
}

@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/maxomedia-starter-child/assets/fonts/roboto-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/wp-content/themes/maxomedia-starter-child/assets/fonts/roboto-latin-700-normal.woff2") format("woff2");
}
h1,
h3,
h5 {
  word-break: break-word;
}
.vis_table_footnotes {
  margin-top: 50px;
}

.inf {
  display: inline;
  position: relative;
  z-index: auto;
  transition: all 0.3s;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.inf > span,
span.inf_mobile {
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  display: block;
  background: #f6f6f6;
  color: #4c4c4c;
  line-height: 1.5;
  z-index: 9999;
  font-size: 16px;
  padding: 24px;
  font-family: Roboto, sans-serif;
  font-weight: 300;
  position: absolute;
  left: 0;
  top: 25px;
  width: 370px;
}

.inf:hover {
  color: #437aaf;
}

@media all and (min-width: 601px) {
  .inf:hover > span {
    visibility: visible;
    opacity: 1;
  }
}

@media all and (max-width: 600px) {
  .inf > span {
    display: none !important;
  }
  span.inf_mobile {
    left: 0;
    right: 0;
    margin: auto;
    /*top: 75px;*/
    max-width: 310px;
    width: 100%;
  }

  td {
    position: relative;
  }

  /*td:hover span.inf_mobile{*/
  span.inf_mobile.active {
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
}

#to_top_btn {
  left: unset;
  top: unset;
  padding-right: 30px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  max-width: fit-content;
  visibility: visible !important;
}
ol.second_level > li ol.second_level > li:before {
  content: counters(item, ".");
}

.far.fa-arrow-alt-circle-right {
  color: #739ec6;
}
ol {
  list-style-type: none;
  counter-reset: item;
  margin: 0;
  padding: 0;
}
table.vis_table.procedure_table ul {
  clear: both;
}
@media screen and (max-width: 600px) {
  table.vis_table.procedure_table ul {
    margin-top: 24px;
  }
  .second_level {
    padding-left: 0 !important;
  }
  .second_level ul {
    padding-left: 10px;
  }
}

ol > li {
  display: table;
  counter-increment: item;
  margin-bottom: 0.6em;
}

ol > li:before {
  content: counters(item, ".") ". ";
  display: table-cell;
  padding-right: 0.6em;
}

li ol > li {
  margin: 0;
}

li ol > li:before {
  content: counters(item, ".") ". ";
  font-weight: 700;
}
#section_content_blocks_customer_information1new_data_active
  > .second_level
  > li:before {
  content: "1. " counters(item, ".");
  min-width: 38px;
  margin: 20px 0;
}
ol.second_level > li ol.second_level > li:before {
  content: counters(item, ".");
}
#section_ii___common_terms3_1new_data_active:before {
  content: "3.1";
}
#section_ii___common_terms3_2new_data_active:before {
  content: "3.2";
}
.inhalt_wrapper ol.content_table {
  padding: 0 10px;
}
.inhalt_wrapper ol.content_table > li {
  counter-increment: latinAbc;
}
.inhalt_wrapper ol.content_table > li:before {
  text-align: left;
  content: "";
}
.main_section_t {
  padding: 5px 0 !important;
}
#section_content_blocks_customer_information1new_data_active
  > .second_level
  > li:before {
  font-weight: 700;
}

#section_bestpreis_garantienew_data_active ol.second_level li:before {
  font-weight: 700;
}
li {
  list-style-type: disc;
}
.terms-section:nth-of-type(6) ol.latin_nums.first_level > li:before {
  content: "" !important;
  padding-right: 0 !important;
}
.card_term_details ol.latin_nums.first_level > li:before {
  content: counter(latinNumbering, decimal) "." !important;
}

select::-ms-expand {
  display: none;
}

/* Hide duplicate section titles cuz I cannot figure it out any other way */
/* p + .section-main-title {
  display: none !important;
} */

/* Hide unused list-elements */
#section_id_gepackversicherung [class=" 4.1.1"],
#section_id_gepackversicherung [class=" 4.2.1"] {
  display: none;
}

.some-unique-class-ayyoooo li {
  list-style-type: none !important;
}

.some-unique-class-ayyoooo li li {
  list-style-type: disc !important;
}

#section_title_24h_assistance_corp_new_data_active
  + p
  + p
  + #section_title_24h_assistance_corp_new_data_active,
#section_title_medizinische_reise_assistance_corp_new_data_active
  + p
  + p
  + #section_title_medizinische_reise_assistance_corp_new_data_active {
  display: none;
}

[data-elementor-type="header"] [data-widget_type="image.default"] img {
  width: 150px;
  min-width: 150px;
  height: auto;
}

[data-elementor-type="header"] .elementor-widget-image {
  text-align: left;
}

[data-elementor-type="footer"] {
  min-height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer-row-logos {
  min-height: 100px;
}

@media screen and (max-width: 767px) {
  [data-widget_type="text-editor.default"] {
    border: 0; /* Remove table border */
  }

  /* Hide the original table header row */
  [data-widget_type="text-editor.default"] tbody tr:first-child {
    display: none;
  }

  /* Make rows behave like blocks */
  [data-widget_type="text-editor.default"] tr {
    display: block;
    margin-bottom: 1.5em; /* Space between logical rows */
    border: 1px solid #ccc; /* Border around each logical row block */
    border-radius: 4px; /* Optional rounded corners */
    overflow: hidden; /* Contain floated/block elements */
  }

  /* Make cells behave like blocks */
  [data-widget_type="text-editor.default"] td {
    display: block;
    width: 100% !important; /* Override inline widths and take full width */
    box-sizing: border-box; /* Include padding and border in width */
    border: 0; /* Remove individual cell borders */
    border-bottom: 1px solid #eee; /* Separator line between stacked cells */
    padding: 10px;
    text-align: left !important; /* Ensure text alignment */
  }

  /* Remove bottom border from the last cell in a block */
  [data-widget_type="text-editor.default"] td:last-child {
    border-bottom: 0;
  }

  /* Style the section headers (colspan=3) on mobile */
  [data-widget_type="text-editor.default"] td[colspan="3"] {
    border-bottom: 1px solid #ccc; /* Keep a separator */
    background-color: #e9e9e9;
    font-weight: bold;
    text-align: center;
  }

  /* Style the first cell (the original row label) */
  [data-widget_type="text-editor.default"] td:first-child {
    background-color: #f8f8f8; /* Slightly different background for the main label */
    font-weight: bold;
    border-bottom: 1px solid #ddd;
  }

  /* Add the data-label text before the cells that have it */
  /* NOTE: This requires adding 'data-label' attributes to your HTML <td> elements */
  [data-widget_type="text-editor.default"] td[data-label]::before {
    content: attr(data-label); /* Display the label */
    display: block; /* Make it appear on its own line */
    font-weight: bold;
    margin-bottom: 5px; /* Space below the label */
    color: #555; /* Optional: Style the label color */
  }

  [data-widget_type="text-editor.default"] tr:has(td:only-child) {
    margin-bottom: 0.25rem;
  }

  .footer-row-logos {
    min-height: 200px;
  }

  [data-elementor-type="footer"] {
    min-height: 500px;
  }
}

#main_heaeder {
  min-height: 70px;
  display: flex;
  align-items: center;
  margin: 1% 0 !important;

  > div {
    width: 100%;
  }
}

.elementor-column-gap-default
  > .elementor-row
  > .elementor-column
  > .elementor-element-populated
  > .elementor-widget-wrap {
  padding: 0 !important;
}

[data-elementor-type="footer"]
  .elementor-column-gap-default
  > .elementor-column
  > .elementor-element-populated {
  padding: 0 !important;
}

@media screen and (max-width: 1024px) {
  #main_heaeder .elementor-image img {
    padding-left: 20px;
  }

  #html-footer {
    padding: 0;
  }
}

.heading-index {
  white-space: nowrap;
}

/* Hide info-bubble in french Medizinische Reise Assistance (makes no sense but client is king) */
[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Versicherungsdeckungen"] .eicon-info,
[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Geografische Deckung"] .eicon-info,

[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Couvertures d'assurance"] .eicon-info,
[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Couverture géographique"] .eicon-info,

[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Coperture assicurative"] .eicon-info,
[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Copertura geografica"] .eicon-info,

[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Insurance coverage"] .eicon-info,
[data-widget_type="cardwidgetcorporatenew.default"] [data-label="Geographical coverage"] .eicon-info
{

    display: none;
}


.section-toc-sub {

    gap: 10px;
}

#section_title_iii__ergaenzende_bestimmungen_rechtsschutz_corp_new_data_active + p + .section-bullets > li:only-of-type {

    display: none;
}

.outside-ul + .outside-ul {

    display: none;
}

.list-style {

    list-style-type: none !important;
    padding-left: 0;
}

/* Duplicate III heading for some reason, hiding the duplicate with this (just before the "II - ..." */
h1[id="section_title_iii__ergaenzende_bestimmungen_rechtsschutz_corp_new_data_active"] {display: none;}
h1[id="section_title_iii__ergaenzende_bestimmungen_rechtsschutz_corp_new_data_active"] ~ h1[id="section_title_iii__ergaenzende_bestimmungen_rechtsschutz_corp_new_data_active"] {display: block}