/*!
 * Violution Webseiten
 * Copyright 2025 Violution GbR, Dortmund
 * Autor: Daniela Brigula
 */
/*!
 * Violution Webseiten
 * Copyright 2025 Violution GbR, Dortmund
 * Autor: Daniela Brigula
 */
/* ### COLOR SETS - Violution GbR ### */
body {
  --primary: #361b6a;
  --primary2: #7E4290;
  --primary3: #5f4f77;
  --primary4: #60327d;
  --text: #242229;
  --text_medium: #4c4a56;
  --footer_bg: #1f103c;
  --info: #ff9f43;
  --error: #ff6f61;
  --text_light: #f1f0f8;
  --highlight: #bc8fd4;
  --background-white: #fdfdfd;
  --m1_toplink_bg: rgba(54, 27, 106, 0.8);
  --m1_toplink_bg_hover: rgba(54, 27, 106, 1);
  --m2_toplink_bg: rgba(72, 49, 116, 0.8);
  --m2_toplink_bg_hover: rgba(60, 46, 87, 1);
  --m3_toplink_bg: rgba(90, 70, 127, 0.8);
  --m3_toplink_bg_hover: rgba(90, 70, 127, 1);
  --m4_toplink_bg: rgba(107, 92, 137, 0.8);
  --m4_toplink_bg_hover: rgba(107, 92, 137, 1);
  --m5_toplink_bg: rgba(125, 114, 147, 0.8);
  --m5_toplink_bg_hover: rgb(109, 99, 128, 1);
  --m6_toplink_bg: rgba(143, 135, 158, 0.8);
  --m6_toplink_bg_hover: rgba(119, 118, 128, 1);
  --link-default: #7E4290;
  --link-default-hover: #1f103c;
  --filter-lighter: rgba(255,255,255,0.1);
  --backdrop-filter-bg: rgba(247, 248, 249, 0.6784313725) !important;
  --backdrop-filter: blur(12px);
  --bg-dark-violett: rgba(44, 44, 49, 0.95);
  --bg-dark-violett-lighter: rgba(74, 74, 82, 0.6);
  --primary-transparent: rgba(34, 17, 68, 0.5);
  --button: #70418d;
  --button-hover: #593573;
  --icons: #361b6a;
  --icons-hover: #60327d;
  --h1: #361b6a;
  --h2: #60327d;
  --highlight-color: #8a499d;
  --h-default: #46434f;
  --background-decent: #f9f9f9;
  --background-atrazit: #3f3b48;
  --background-gallery: #232323;
  --text_transparent: rgba(255,255,255, 0.6);
  --whitefilter: rgba(255,255,255,0.8);
  --border-decent: #e6e6e6;
  --full_white: #ffffff;
}

@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-display: swap;
  src: local("Source Sans Pro"), url("../../fonts/SourceSansPro-Light.woff2") format("woff2");
  font-weight: 300;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-display: swap;
  src: local("Source Sans Pro"), url("../../fonts/SourceSansPro-Regular.woff2") format("woff2");
  font-weight: 400;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-display: swap;
  src: local("Source Sans Pro"), url("../../fonts/SourceSansPro-SemiBold.woff2") format("woff2");
  font-weight: 500;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-display: swap;
  src: local("Source Sans Pro"), url("../../fonts/SourceSansPro-Bold.woff2") format("woff2");
  font-weight: 700;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-display: swap;
  src: local("Source Sans Pro"), url("../../fonts/SourceSansPro-Black.woff2") format("woff2");
  font-weight: 900;
}
/* Line-Icons */
@font-face {
  font-family: "Lineicons";
  src: url("regular-icon-font-free/fonts/Lineicons.eot");
  src: url("regular-icon-font-free/fonts/Lineicons.eot") format("embedded-opentype"), url("regular-icon-font-free/fonts/Lineicons.woff2") format("woff2"), url("regular-icon-font-free/fonts/Lineicons.woff") format("woff"), url("regular-icon-font-free/fonts/Lineicons.ttf") format("truetype"), url("regular-icon-font-free/fonts/Lineicons.svg") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/* Dark-Mode */
#darkModeToggle {
  display: none !important;
}

.test-bg {
  background-color: #555;
  padding: 30px;
}

.test-bg-light {
  padding: 30px;
}

@media only screen and (max-width: 1625px) {
  #main .content_card_text_combi .content_card {
    margin-right: 0;
    margin-left: 50px;
  }
  .binding {
    margin: auto auto;
    max-width: calc(100% - 60px);
    min-width: calc(100% - 60px);
  }
  #main .mod_article:first-child:not(.article_hero) {
    padding-top: 180px !important;
  }
  #main h1 {
    font-size: 48px;
  }
  #main h1 .highlight-color {
    font-size: 38px;
  }
  p, #main li {
    max-width: 960px;
  }
  #logo #logo-plate {
    margin-left: 30px;
    width: calc(100% - 30px);
    padding: 39px 0 39px 0;
  }
  #logo #logo-plate img#full-logo {
    width: 140px;
  }
  body.rooms #top-line-navigation ul li#logo {
    max-width: 235px;
  }
  #top-line-navigation ul li.service-button a {
    font-size: 15px;
    letter-spacing: 0.035rem;
  }
  #navbar .row {
    height: 48px;
  }
  #navbar .row #main-navigation .mod_navigation ul li:before {
    bottom: 3px;
  }
  #navbar .row #main-navigation .mod_navigation ul li a, #navbar .row #main-navigation .mod_navigation ul li strong.active, #navbar .row #main-navigation .mod_navigation ul li strong.forward, #navbar .row #main-navigation .mod_navigation ul li strong.trail {
    height: 40px;
    font-size: 19px;
  }
  #navbar.sticky-navigation {
    height: 96px;
  }
  #navbar.sticky-navigation .row {
    height: 50px;
  }
  #navbar.sticky-navigation.sticky {
    height: 52px;
  }
  #navbar.sticky-navigation.sticky #logo #logo-plate {
    padding: 30px 0 30px 0;
  }
  #navbar.sticky-navigation.sticky #vio_shortcuts {
    top: 10px;
  }
  #vio_shortcuts {
    width: auto;
    right: 27px;
    top: 55px;
  }
  #vio_shortcuts.vio_icon_links .lni:before {
    font-size: 1.6em;
  }
  /* Seminarraum-Seite */
  body.rooms #main .mod_article.article_hero {
    padding-top: 80px !important;
  }
  body.rooms #main #violution-rooms {
    height: 576px;
    min-height: 586px;
  }
  body.rooms #main #violution-rooms #content-case .inner {
    left: 30px;
  }
  body.rooms #main #violution-rooms #content-case .inner h1 {
    font-size: 35px;
    line-height: 1;
  }
  body.rooms #main #violution-rooms #content-case .inner h1 .highlight-color {
    font-size: 28px;
  }
  body.rooms a#buchen-button {
    display: none;
  }
  body.rooms #navbar .row #main-navigation .mod_navigation ul li a, body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.active, body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.forward, body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.trail {
    font-size: 19px;
  }
  body.rooms #navbar .row #main-navigation .mod_navigation ul li {
    margin: 0 18px;
  }
  body.rooms #navbar .row #main-navigation .mod_navigation ul li a,
  body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.active,
  body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.forward,
  body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.trail {
    font-size: 20px;
  }
  body.rooms #navbar a#buchen-button {
    transform: scale(0.9);
    top: 48px;
  }
  body.rooms #navbar.sticky-navigation.sticky a#buchen-button {
    top: 4px;
  }
}
@media only screen and (max-width: 1480px) {
  body.rooms #violution-rooms #content-case .inner h1 {
    font-size: 35px;
    line-height: 1;
  }
  body.rooms #violution-rooms #content-case .inner h1 .highlight-color {
    font-size: 28px;
  }
}
@media only screen and (max-width: 1390px) {
  body.rooms #main #violution-rooms {
    height: 550px;
    min-height: 550px;
  }
  body.rooms #main #violution-rooms #content-case, body.rooms #main #violution-rooms #picture_case {
    flex: 0 0 50%;
    max-width: 50%;
  }
  body.rooms #main #violution-rooms #content-case .inner, body.rooms #main #violution-rooms #picture_case .inner {
    height: 366px;
    padding: 37px 100px 60px 60px;
    border-radius: 3px;
  }
  body.rooms #main #violution-rooms #content-case .content-text, body.rooms #main #violution-rooms #content-case .content-headline, body.rooms #main #violution-rooms #picture_case .content-text, body.rooms #main #violution-rooms #picture_case .content-headline {
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 1350px) {
  .map-site-contentwrap {
    max-width: 100%;
    margin-left: 32px;
    margin-right: 32px;
  }
  #main .content_card h3 {
    font-size: 20px;
  }
  #vio_shortcuts {
    width: 130px;
    right: 27px;
    top: 55px;
  }
  #logo #logo-plate {
    margin-left: 25px;
    width: calc(100% - 25px);
    padding: 42px 0 42px 0;
  }
  #logo #logo-plate img#full-logo {
    width: 125px;
  }
}
@media only screen and (max-width: 1180px) {
  #main .ce_form {
    width: 100%;
  }
  [class*=col].padding-left-large {
    padding-left: 40px;
  }
  [class*=col].padding-right-large {
    padding-right: 40px;
    padding-left: 40px;
  }
  body.rooms #main #violution-rooms #content-case .inner {
    height: 400px;
    padding: 37px 40px 60px 60px;
    border-radius: 3px;
  }
  body.rooms #main #violution-rooms #content-case .inner h1 {
    font-size: 32px;
    line-height: 1.1;
  }
  body.rooms #main #violution-rooms #content-case .inner h1 .highlight-color {
    font-size: 26px;
  }
  #main .content-gallery .swiper-slide {
    font-size: 17px;
  }
  #main .side_pic_left h2, #main .side_pic_right h2 {
    font-size: 30px;
  }
  #main .side_pic_left p.over-title, #main .side_pic_right p.over-title {
    font-size: 20px;
  }
  #main .side_pic_left [class*=col].padding-left-large, #main .side_pic_right [class*=col].padding-left-large {
    padding-left: 40px;
  }
  #main .side_pic_left [class*=col].padding-right-large, #main .side_pic_right [class*=col].padding-right-large {
    padding-right: 40px;
    padding-left: 40px;
  }
  #main .side_pic_left .rte, #main .side_pic_right .rte {
    padding-bottom: 40px;
  }
  #main .content_card {
    background-size: 26%;
    background-position: 101% 103%;
    margin: 15px;
    padding: 25px 25px 30px 25px;
  }
  #main .content_card.bg_svg3 {
    background-size: 28%;
  }
  #main .content_card.bg_svg4 {
    background-size: 32%;
  }
  #main .content_card.bg_svg8 {
    background-size: 22%;
  }
  #main .content_card h3 {
    font-size: 18px;
    padding: 17px 30px;
    width: 90%;
    margin-bottom: 10px;
    margin-left: -31px;
  }
  #main .content_card.col_6 {
    flex: 0 0 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
  #main .content_card ul li {
    font-size: 20px;
    margin-bottom: 12px;
  }
  #footer_top .footer-claim p {
    font-size: 34px;
  }
  #contact-button {
    width: 70px;
    height: 50px;
  }
  #search-input.show-search .label {
    font-size: 32px;
  }
  #search-input.show-search .close-window i {
    top: 1rem;
    right: 1rem;
  }
  #search-input.show-search .close-window i:before {
    font-size: 42px;
  }
  #search-input.show-search form {
    max-width: 85%;
  }
  #search-input.show-search form button.submit {
    min-width: 40%;
  }
  #main .content_card_text_combi .content_card {
    margin-right: 0;
    margin-left: 25px;
  }
}
@media only screen and (max-width: 960px) {
  #main .mod_faqlist {
    width: 100%;
  }
  #main .ce_form fieldset:not(.checkbox_container) legend, #main .ce_form fieldset:not(.radio_container) legend {
    font-size: 21px;
  }
  #main .content_card_text_combi .m-top-40.content-text {
    margin-top: 0 !important;
  }
  #main .content_card_text_combi .content_card {
    margin-right: 0;
    margin-left: 0;
  }
  body.rooms #main #violution-rooms #content-case {
    flex: 0 0 0%;
    max-width: 0%;
  }
  body.rooms #main #violution-rooms #content-case .content-text {
    margin-bottom: 0;
  }
  body.rooms #main #violution-rooms #content-case .content-text p {
    font-size: 17px;
  }
  body.rooms #main #violution-rooms #content-case .content-text a.button-default {
    font-size: 20px;
    padding: 12px 28px;
  }
  body.rooms #main #violution-rooms #content-case .inner {
    width: 60vw;
    padding: 40px 25px 40px 35px;
  }
  body.rooms #main #violution-rooms #content-case .inner h1 {
    font-size: 30px;
    line-height: 1.15;
  }
  body.rooms #main #violution-rooms #content-case .inner h1 .highlight-color {
    font-size: 24px;
  }
  body.rooms #main #violution-rooms #content-case .inner:after {
    display: none;
  }
  #main .content-text, #main .content-headline {
    margin-bottom: 1.5rem;
  }
  #main .mod_article.article_bg_decent h2 {
    font-size: 34px;
  }
  #main .set-center .rte h2 {
    line-height: 36px;
    padding-left: 15px;
    padding-right: 15px;
  }
  body.rooms #main #violution-rooms #picture_case {
    flex: 0 0 100%;
    max-width: 100%;
  }
  #main .content-gallery .col_10, #main .content-gallery .col_2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  #main .content-gallery .swiper-slide {
    height: 480px;
    max-height: unset;
  }
  #main .content-gallery .swiper-slide .figcaption {
    padding: 12px 30px;
  }
  #main .benefit-item strong {
    font-size: 21px;
    line-height: 31px;
  }
  #main .content_card {
    background-position: 103% 107%;
    margin: 0 0 30px 0;
  }
  #main .content_card h3 {
    font-size: 20px;
    width: 70%;
    margin-bottom: 15px;
  }
  #main .content_card.col_6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  #main .content_card ul li {
    font-size: 21px;
  }
  #main .content_card_text_combi .col_6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 890px) {
  #main .logo-wrapper .logo-img {
    flex: 0 0 calc(25% - 6px);
    max-width: calc(25% - 6px);
  }
  #main .logo-wrapper .logo-img.logo-img-smaller figure img {
    max-width: 85%;
  }
  #main .content-text.set-center p,
  #main .content-headline.set-center p {
    width: 85%;
    max-width: 85%;
  }
  #main .mod_article.same-height.side_pic_right .row, #main .mod_article.side_pic_right .row {
    flex-direction: column-reverse;
  }
  #main .content_card {
    background-position: 103% 104%;
  }
  #main .content_card.bg_svg1, #main .content_card.bg_svg2, #main .content_card.bg_svg3, #main .content_card.bg_svg5, #main .content_card.bg_svg6, #main .content_card.bg_svg7, #main .content_card.bg_svg9 {
    background-size: 28%;
  }
  #main .content_card.bg_svg4 {
    background-size: 32%;
  }
  #main .content_card.bg_svg8 {
    background-size: 25%;
  }
  #main .content_card h3 {
    width: 80%;
  }
  #main .content_card ul li {
    font-size: 20px;
  }
  #contact-button, #contactWindow {
    display: none !important;
  }
  #c-consent-trigger a {
    bottom: 5px;
    left: 5px;
    transform: scale(0.8);
  }
  #top_link {
    bottom: 5px;
    right: 5px;
  }
  #top_link a {
    transform: scale(0.8);
  }
  .col-6, .col-5, .col-4, .col-3, .col-2, .col-1,
  .col_6, .col_5, .col_4, .col_3, .col_2, .col_1 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  body #main p, body #main li, body #main .rte h2 {
    max-width: 90%;
  }
  body #main h1 {
    font-size: 40px;
  }
  body #main h1 .highlight-color {
    font-size: 31px;
  }
  body #main h2 {
    font-size: 32px;
    line-height: 1.25;
  }
  body #main .h2_small h2 {
    font-size: 25px;
    line-height: 1.3;
  }
  body #main p, body #main ul, body #main ol {
    line-height: 1.65;
  }
  #main .mod_article.article_bg_decent .content-text:not(.h2_small) h2 {
    font-size: 32px;
    line-height: 1.25;
  }
  #main .mod_article.article_bg_dark_violett h2 .highlight-color:not(.same-duktus) {
    font-size: 25px;
  }
  #footer_top h2, #footer_top h3, #footer_top h4, #footer_top h5 {
    margin-bottom: 20px;
    margin-top: 0;
  }
  #footer_top .col_4.left {
    flex: 0 0 100%;
    max-width: 100%;
  }
  #footer_top .col_4.middle, #footer_top .col_4.right {
    flex: 0 0 50%;
    max-width: 50%;
  }
  #footer_top .col_4.middle .content-text:not(.mod_socials) ul, #footer_top .col_4.right .content-text:not(.mod_socials) ul {
    width: 92%;
  }
  body.rooms #footer_top .col_4.left, body.rooms #footer_top .col_4.middle, body.rooms #footer_top .col_4.right {
    flex: 0 0 100%;
    max-width: 100%;
  }
  body.rooms #footer_top .footer-claim {
    margin-bottom: 60px;
  }
  [class*=col].padding-left-large,
  [class*=col].padding-right-large {
    padding-left: 30px;
    padding-right: 30px;
  }
  .map-site-contentwrap {
    max-width: 100%;
    margin-left: 32px;
    margin-right: 32px;
  }
  #article-416 {
    padding-top: 0 !important;
  }
  #main .mod_c4g_maps {
    height: 500px;
  }
}
@media only screen and (max-width: 720px) {
  #main .ce_accordion .accordion {
    padding: 20px 0 10px 20px;
  }
  #main .ce_accordion .accordion p, #main .ce_accordion .accordion ul li {
    max-width: 94%;
  }
  #main .ce_accordion h3.toggler {
    font-size: 19px;
    line-height: 25px;
    padding: 14px 15px 14px 46px;
    white-space: normal;
    height: auto;
  }
  #main .ce_accordion .ui-accordion-header {
    position: relative;
  }
  #main .ce_accordion .ui-accordion-header .ui-accordion-header-icon {
    position: absolute;
    display: block;
    left: 13px;
    top: 14px;
  }
  #main .ce_accordion .ui-accordion-header .ui-accordion-header-icon:before {
    font-size: 27px;
    line-height: 32px;
  }
  #main .ce_form .widget.widget-explanation p, #main .ce_form fieldset.checkbox_container {
    max-width: 95%;
  }
  #main .ce_form .checkbox_container label,
  #main .ce_form .radiocontainer label {
    padding-left: 30px;
    padding-right: 0;
  }
  #main .ce_form .checkbox_container label span.mandatory,
  #main .ce_form .radiocontainer label span.mandatory {
    margin-left: 0;
  }
  #main .content-gallery .swiper-slide {
    height: 350px;
  }
  #main .ce_form {
    padding: 40px 10px 50px 30px;
  }
  #main .content-text.set-center p,
  #main .content-headline.set-center p {
    width: 100%;
    max-width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }
  #main .content_card {
    background-position: 103% 104%;
  }
  #main .content_card h3 {
    width: 100%;
  }
  #main .content_card ul li {
    font-size: 20px;
  }
  #main .mod_article.article_bg_decent h2 {
    font-size: 36px;
  }
  #main .mod_article {
    padding-top: 40px;
    padding-bottom: 60px;
  }
  body.rooms .price_list .price strong, body.rooms .content_card_text_combi .price strong {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
  }
}
@media only screen and (max-width: 530px) {
  #main .ce_form .widget.widget-submit button {
    width: 100%;
    min-width: 100%;
  }
  #main .ce_form .widget {
    margin-bottom: 20px;
  }
  #main .ce_form .widget.widget-submit {
    flex: 0 0 calc(100% - 20px);
    max-width: calc(100% - 20px);
    border-top: 1px solid #e6e6e6;
    padding-top: 20px;
    margin-top: 5px;
  }
  #main .price_list .price strong {
    font-size: 36px;
  }
  #main p.over-title, #main ul.over-title, #main ol.over-title {
    margin: 30px 0 0 0;
  }
  #navbar.sticky-navigation #vio_shortcuts {
    width: 100px !important;
    right: 17px !important;
  }
  #vio_shortcuts.vio_icon_links a#hamburger-toggler.lni.lni-xmark:before {
    right: 11px !important;
  }
  .map-site-contentwrap {
    margin-left: 17px;
    margin-right: 17px;
  }
  #main .logo-wrapper .logo-img {
    flex: 0 0 calc(33.333% - 6px);
    max-width: calc(33.333% - 6px);
  }
  #footer_top .footer-claim p {
    font-size: 29px;
  }
  body #main .mod_article.article_bg_decent h2 {
    font-size: 33px;
  }
  body #main h1 {
    font-size: 32px;
  }
  body #main h1 .highlight-color {
    font-size: 25px;
  }
  body #main h2 {
    font-size: 28px;
  }
  body #main ul li, body #main ol li {
    padding-left: 22px;
  }
  body #main ul li:before, body #main ol li:before {
    height: 8px;
    width: 8px;
    top: 35%;
  }
  body #main p, body #main li, body #main .rte h2 {
    max-width: 100%;
  }
  body #main .content_card {
    background-position: 103% 104%;
  }
  body #main .content_card.bg_svg1, body #main .content_card.bg_svg2, body #main .content_card.bg_svg3, body #main .content_card.bg_svg4, body #main .content_card.bg_svg5, body #main .content_card.bg_svg6, body #main .content_card.bg_svg7, body #main .content_card.bg_svg8, body #main .content_card.bg_svg9 {
    background-size: 30%;
  }
  body #main .content_card.bg_svg4 {
    background-size: 34%;
  }
  body #main .content_card.bg_svg8 {
    background-size: 27%;
  }
  body #main .content_card h3 {
    width: 106%;
    font-size: 19px;
  }
  body #main .content_card ul {
    margin-bottom: 1rem;
  }
  body #main .content_card ul li {
    font-size: 18px;
    line-height: 28px;
  }
  .binding {
    max-width: calc(100% - 35px);
    min-width: calc(100% - 35px);
  }
  body #navbar.sticky-navigation #logo #logo-plate {
    margin-left: 17px;
  }
  #navbar.sticky-navigation {
    height: 60px;
  }
  #navbar.sticky-navigation #logo #logo-plate {
    margin-left: 10px;
  }
  #navbar.sticky-navigation #vio_shortcuts {
    width: 100px;
  }
  #footer_top h2:after, #footer_top h3:after, #footer_top h4:after {
    margin: 8px auto;
  }
  #footer_top .mod_socials ul {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 30px;
  }
  #footer_top .mod_socials ul li {
    margin: 0 8px 0 8px;
  }
  #footer_top .col_4.left, #footer_top .col_4.middle, #footer_top .col_4.right {
    text-align: center;
    flex: 0 0 100%;
    max-width: 100%;
  }
  #footer_top .col_4.left .content-text:not(.mod_socials) ul, #footer_top .col_4.middle .content-text:not(.mod_socials) ul, #footer_top .col_4.right .content-text:not(.mod_socials) ul {
    margin: 0 60px 36px 60px;
    text-align: left;
    width: calc(100% - 120px);
  }
  body.rooms .price_list .price:before,
  body.rooms .content_card_text_combi .price:before {
    width: 300px;
  }
  body.rooms .price_list .price-button a.button-default,
  body.rooms .content_card_text_combi .price-button a.button-default {
    width: 300px;
    padding: 17px 32px;
  }
  body.rooms #main #violution-rooms #content-case .inner {
    width: calc(100vw - 34px);
    padding: 30px 25px 40px 25px;
    left: 17px;
    top: 45px;
  }
  body.rooms #main #violution-rooms {
    height: 550px;
    min-height: 550px;
  }
  #main .mod_article.article_bg_decent .content-text:not(.h2_small) h2 {
    font-size: 32px;
  }
}
@media only screen and (max-width: 420px) {
  body #main .mod_article:first-child:not(.article_hero) {
    padding-top: 140px !important;
  }
  body #main .h2_small h2 {
    font-size: 23px;
    text-transform: none;
  }
  body #main .mod_article.article_bg_decent h2 {
    font-size: 27px;
    padding: 0;
  }
  #main .content-text.set-center p, #main .content-headline.set-center p {
    width: 100%;
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
  #main .content-gallery .swiper-slide {
    height: 290px;
  }
  #main .logo-wrapper .logo-img {
    flex: 0 0 calc(50% - 6px);
    max-width: calc(50% - 6px);
  }
  body #main .mod_article.article_bg_decent h2 {
    font-size: 29px;
  }
  body #main .content_card h3 {
    width: 115%;
    padding: 13px 0 13px 28px;
    font-size: 18px;
  }
  body #main .content_card ul li {
    font-size: 17px;
    line-height: 28px;
  }
  #main .price_list .price::before, #main .content_card_text_combi .price::before {
    width: 100%;
  }
  #main .price_list .price-button a.button-default,
  #main .content_card_text_combi .price-button a.button-default {
    width: 100%;
    padding: 21px 25px;
  }
  #footer_top .col_4.left .content-text:not(.mod_socials) ul,
  #footer_top .col_4.middle .content-text:not(.mod_socials) ul,
  #footer_top .col_4.right .content-text:not(.mod_socials) ul {
    margin: 0 40px 36px 40px;
    width: calc(100% - 80px);
  }
  body #main p,
  body #main ul,
  body #main ol {
    line-height: 1.7;
    font-size: 17px;
  }
  #main .h2_small {
    font-size: 27px;
    line-height: 1.2;
  }
}
@media only screen and (max-width: 370px) {
  body #main .mod_article.article_bg_decent h2 {
    font-size: 28px;
  }
  #footer_top .col_4.middle .content-text:not(.mod_socials) ul {
    margin: 0 30px 36px 30px;
    width: calc(100% - 60px);
  }
  body #navbar.sticky-navigation #logo #logo-plate {
    margin-left: 15px;
  }
  .binding {
    max-width: calc(100% - 25px);
    min-width: calc(100% - 25px);
  }
}
/* Max-Height */
@media screen and (max-height: 560px) {
  #contact-button, #contactWindow {
    display: none !important;
  }
}
/* Touch statt Hover & Hamburger einblenden */
@media only screen and (max-width: 1300px), screen and (hover: none) {
  #navbar .row #main-navigation .mod_navigation ul {
    display: none;
  }
  #main .mod_article:first-child:not(.article_hero) {
    padding-top: 180px !important;
  }
  /* Seminarraum-Seite */
  body.rooms #navbar.sticky-navigation.sticky #top-line-navigation ul li#claim-line {
    display: block !important;
  }
  body.rooms #main .mod_article.article_hero {
    padding-top: 59px !important;
  }
  body.rooms #main #violution-rooms {
    height: 570px;
    min-height: 570px;
  }
  body.rooms a#buchen-button {
    display: none;
  }
  body.rooms #navbar .row #main-navigation .mod_navigation ul li a, body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.active, body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.forward, body.rooms #navbar .row #main-navigation .mod_navigation ul li strong.trail {
    font-size: 19px;
  }
  #mobile-topline-navigation, .hide_desktop {
    display: block !important;
  }
  .onlymobile, #hamburger-toggler {
    display: block;
  }
  #logo #logo-plate img#full-logo {
    width: 140px;
  }
  #navbar.sticky-navigation {
    height: 60px;
  }
  #navbar.sticky-navigation #logo #logo-plate {
    margin-left: 32px;
    width: 166px;
    padding: 23px 0 23px 0;
    -webkit-transition: none;
    transition: none;
  }
  #navbar.sticky-navigation #top-line-navigation {
    height: 12px;
    background-color: var(--m1_toplink_bg_hover);
  }
  #navbar.sticky-navigation #top-line-navigation ul li.service-button a:not(#logo-plate), #navbar.sticky-navigation #top-line-navigation #service2, #navbar.sticky-navigation #top-line-navigation #service3 {
    display: none;
  }
  #navbar.sticky-navigation #top-line-navigation ul li#claim-line .claim-text,
  #navbar.sticky-navigation #top-line-navigation ul li#claim-line a {
    display: none;
  }
  #navbar.sticky-navigation #vio_shortcuts {
    width: 130px;
    right: 27px;
    top: 22px;
    z-index: 9999;
  }
  #navbar.sticky-navigation.sticky {
    height: 60px;
  }
  #navbar.sticky-navigation.sticky #top-line-navigation {
    height: 12px;
    background-color: var(--m1_toplink_bg_hover);
  }
  #navbar.sticky-navigation.sticky #logo #logo-plate {
    transform: scale(1);
    width: 166px;
    padding: 23px 0 23px 0;
    margin-top: 0;
  }
  #navbar.sticky-navigation.sticky #logo #logo-plate img#full-logo {
    width: 125px;
  }
  #navbar.sticky-navigation.sticky #vio_shortcuts {
    top: 22px;
  }
  #vio_shortcuts.vio_icon_links a#hamburger-toggler.lni.lni-xmark:before {
    font-size: 2rem;
    color: #fff !important;
    position: fixed;
    top: 18px;
    right: 20px;
    z-index: 1080;
    opacity: 1;
  }
  #vio_shortcuts .col a#hamburger-toggler.lni.lni-xmark:hover {
    color: #fff !important;
    opacity: 1;
  }
  #navbar .row #hamburger-menu-container {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    bottom: 0;
    left: 0;
    z-index: -1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
  }
  #navbar .row #hamburger-menu-container #main-navigation {
    position: fixed;
    right: -35.625rem;
    width: 35.625rem;
    height: 100vh;
    transition: right 0.4s ease;
    background-color: rgba(3, 3, 3, 0.7);
    overflow-y: auto;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    overflow: scroll;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 {
    margin: 0;
    padding: 35px 0 15px 35px;
    display: block;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li {
    margin: 0 0 0 0;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    display: block;
    width: 90%;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li:last-child {
    border-bottom: 0 none;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li a, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li strong.active {
    display: block;
    height: auto;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 2px;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li a:hover, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li strong.active:hover {
    color: rgb(255, 255, 255);
    background-color: transparent;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li strong.active, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li a.trail {
    color: #ffffff;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li:before {
    display: none;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.submenu a:after {
    content: "";
    position: relative;
    left: 0;
    height: 14px;
    width: 20px;
    margin-top: -1px;
    background-image: url("../img/arrow-white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 2px;
    display: inline-block;
    margin-left: 15px;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.hamburger-divider {
    padding: 0;
    height: 10px;
    margin: 20px 0;
    border: 0;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li#mobile-buchen-button {
    margin-top: 15px;
    border-bottom: 0 !important;
    background-color: var(--m4_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li#mobile-buchen-button:hover {
    background-color: var(--m4_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li#mobile-buchen-button a {
    font-weight: 700 !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link {
    padding: 0 !important;
    border-bottom: 0 none !important;
    display: block;
    background-color: var(--full_white);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link a {
    display: block;
    font-size: 1rem;
    text-transform: uppercase;
    padding: 15px 25px;
    margin-bottom: 10px;
    color: #fff;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-1 {
    margin-top: 40px;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-1 a {
    background-color: var(--m1_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-1 a:hover {
    background-color: var(--m1_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-2 a {
    background-color: var(--m2_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-2 a:hover {
    background-color: var(--m2_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-3 a {
    background-color: var(--m3_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-3 a:hover {
    background-color: var(--m3_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-4 a {
    background-color: var(--m4_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-4 a:hover {
    background-color: var(--m4_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-5 a {
    background-color: var(--m5_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-5 a:hover {
    background-color: var(--m5_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-6 a {
    background-color: var(--m6_toplink_bg);
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li.mobile-topline-link#mobile-link-6 a:hover {
    background-color: var(--m6_toplink_bg) !important;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_2, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_3 {
    position: relative;
    left: auto;
    visibility: visible;
    opacity: 1;
    border: 0 none;
    top: unset;
    transition: none;
    width: 100%;
    background-color: transparent;
    padding-top: 20px;
    padding-bottom: 15px;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_2 li, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_3 li {
    border: 0;
    padding: 10px 12px 12px 15px;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_2 a, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_2 strong.active, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_3 a, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_3 strong.active {
    background-color: transparent;
    padding: 0;
    font-size: 19px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
  }
  #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_2 a:after, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_2 strong.active:after, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_3 a:after, #navbar .row #hamburger-menu-container #main-navigation nav.mod_navigation ul.level_1 li ul.level_3 strong.active:after {
    display: none !important;
  }
  #navbar .row #hamburger-menu-container.open {
    z-index: 1002;
    visibility: visible;
    opacity: 1;
    -webkit-animation: fadeIn 500ms;
    animation: fadeIn 500ms;
  }
  #navbar .row #hamburger-menu-container.open #main-navigation {
    right: 0;
  }
}

/*# sourceMappingURL=vio-responsive.css.map */
