/**
 * @file
 * Subtheme specific CSS. EB - Optimiert by SP 251009
 */
 
/* @import url("style_sjm.css"); */

/* Farbvariablen */
:root {
    --schulthess-blue: #244566;
    --accent-blue: #8AC7EF;
    --lightblue-box: #F3F9FD;
    --lightblue-2: #CADBE4;
    --black: #000000;
    --gray-1: #E9ECEF;
    --gray-2: #898988;
  }
  
  /**
  * FONTS
  */
  @font-face {
    font-family: "Roboto", sans-serif;
    font-weight: 200;
    src: url("/sites/default/fonts/Roboto-Thin.ttf") format("truetype");
  }
  
  @font-face {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    src: url("/sites/default/fonts/roboto-v30-latin-300.woff2") format("woff2"),
         url("/sites/default/fonts/Roboto-Light.ttf") format("truetype");
  }
  
  @font-face {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    src: url("/sites/default/fonts/roboto-v30-latin-regular.woff2") format("woff2"),
         url("/sites/default/fonts/Roboto-Regular.ttf") format("truetype");
  }
  
  @font-face {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    src: url("/sites/default/fonts/roboto-v30-latin-500.woff2") format("woff2"),
         url("/sites/default/fonts/Roboto-Medium.ttf") format("truetype");
  }
  
  @font-face {
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    src: url("/sites/default/fonts/Roboto-Bold.ttf") format("truetype");
  }
  
  @font-face {
    font-family: "FontAwesome";
    src: url("/sites/default/fonts/fontawesome-webfont.ttf") format("truetype");
  }
  
  @font-face {
    font-family: "FontAwesome";
    src: url("/sites/default/fonts/fa-light-300.woff2") format("woff2"),
         url("/sites/default/fonts/fa-light-300.ttf") format("truetype");
    font-weight: 300;
  }
  
  /* Basis Styling */
  #page {
    font-family: "Roboto", sans-serif;
    overflow: hidden;
  }
  .node--type-stapel .block-system-main-block > h1,
  .node--type-stapel .block-system-main-block .field--name-body {
    margin-left: -8px;
  }
  
  /* Headings und Typografie */
  h1, h2, h3, h4, h5, p {
    font-family: "Roboto", sans-serif;
  }
  
  /* Seitentitel */
  main h1 {
    font-weight: 500;
    font-size: 48px;
    line-height: 60px; /* 125% */
    color: #174c83;
    margin-bottom: 16px;
  }
  
  /* Hierarchiestufen */
  article h2,
  div.content h2 {
    font-weight: 300;
    font-size: 32px;
    line-height: 48px; /* 150% */
    color: #174c83;
    margin-bottom: 16px;
  }
  
  article h3,
  div.content h3 {
    font-weight: 500;
    font-size: 26px;
    line-height: 39px; /* 150% */
    color: #174c83;
    margin-bottom: 16px;
  }
  
  h4 {
    font-weight: 500;
    font-size: 18px;
    color: var(--schulthess-blue);
    line-height: 24px;
    margin-bottom: 4px;
  }
  
  h5 {
    font-weight: 600;
    font-size: 17px;
    color: var(--black);
    line-height: 28px;
  }
  
  /* Absatz mit neuer Standardschriftgrösse von 24px */
  p {
    font-weight: 300;
    font-size: 24px;
    line-height: 40px; /* Ausnahme, nicht 150% */
  }
  
  /* Zeichenstil "lead" */
  article p.lead {
    font-weight: 400;
    color: #404040;
    font-size: 20px;
    line-height: 30px; /* 150% */
  }
  
  /* Fett soll auch angezeigt werden */
  article b,
  article strong,
  b,
  strong {
    font-weight: 700;
  }
  
  /* Listen Abstand zum Inhalt */
  #main ul {
    font-size: 24px;
    line-height: 36px; /* 150% */
    padding-left: 1rem;
    font-weight: 300;
  }
  
  #main div.box_first ul {
    padding-left: 30px;
  }
  
  #main div.box_last ul {
    padding-left: 88px;
  }
  
  #main ul li {
    padding-bottom: 10px;
  }

  #main p + ul {
    margin-top: -10px; /* verhindert doppelten Abstand */
  }

  #main h2 + ul {
    margin-top: 12px;
  }
   #main nav.tabs ul {
    padding-left: 0px;
    font-size: 20px;
    line-height: 26px;
    font-weight: 300;
   }
   #main nav.tabs ul li {
    padding-bottom: 0px;
  }

  /* Basis-Elemente */
  img {
    max-width: 100%;
    height: auto;
  }
  
  .field--type-image img, 
  .field--name-field-user-picture img {
    margin: 0;
  }
  
  /* Buttons + Links */
  .standard-button,
  .webform-button--submit {
    padding: 2px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    border: 1px solid #244566;
    background: var(--gray-1);
    color: var(--schulthess-blue);
    text-decoration: none;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 250%;
    margin-top: 8px;
  }
  
  .standard-button:before,
  .webform-button--submit:before {
    content: "\2192";
    margin-right: 8px;
    font-size: 1.2em;
    line-height: 1;
    display: inline-block;
    transform: translateY(-2px);
  }
  
  .mediadaten-button {
    display: inline-block;
    background: #8AC7EF;
    color: #244566;
    text-decoration: none;
    padding: 5px 30px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 3px;
  }
  
  p:has(.standard-button) {
    margin-bottom: 0px;
  }

  .standard-button:hover,
  .webform-button--submit:hover {
    background: #efefef;
    color: #244566;
    border-radius: 24px;
    border: 1px solid #244566;
  }
  
  .download-link {
    font-size: 16px;
    font-weight: 200;
    color: #244566;
    display: inline-block;
    padding: 5px 5px 5px 25px;
    margin-right: 25px;
    background-image: url(../assets/dl-icon.png);
    background-repeat: no-repeat;
    background-position: 0 center;
    background-size: 15px auto;
  }
  
  a {
    text-decoration: none;
  }

  p a.standard-button {
    margin-right: 0px;
  }

  /* FOOTER */
  .site-footer {
    margin-top: 0;
    padding-bottom: 0px;
  }
  
  #block-schulthess-digital-subfootercopyright {
    font-weight: 300;
  }
  
  .site-footer,
  .site-footer h2,
  .site-footer p,
  .site-footer a {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    color: #fff;
    font-size: 17px;
    line-height: 1.5;
  }
  
  /* Ausnahme für Footer */
  footer div.content h3 {
    color: white;
  }
  
  .site-footer .block {
    margin: 20px 0;
    border: 0;
    padding: 0;
  }
  
  .site-footer__top h2 {
    border-bottom: 0;
    font-size: 23px;
    margin-bottom: 0;
    padding-bottom: 10px;
    text-transform: none;
    font-weight: 400;
  }
  
  .site-footer__top .content li a {
    display: inline-block;
    border-bottom: 0;
    border-color: rgba(255, 255, 255, 0.15);
    line-height: 1.4;
    padding: 0;
    text-indent: 0;
    color: #fff;
    text-decoration: none;
  }
  
  .site-footer__top .content ul {
    list-style-type: none;
    padding: 12px 0;
  }
  
  .site-footer .content ol:not(.menu), 
  .site-footer .content ul:not(.menu) {
    padding-left: 0;
  }
  
  .site-footer__top p {
    margin-top: 10px;
  }
  
  #block-schulthess-digital-footer4logo {
    text-align: right;
  }
  
  .region-footer-fourth {
    float: right !important;
  }
  
  .region-footer-fourth img {
    max-width: 100px;
    height: auto;
  }
  
  .site-footer__bottom {
    border-top: 1px solid var(--accent-blue);
  }
  
  .site-footer__bottom .block {
    display: inline-block;
    width: 33%;
  }
  
  .site-footer__bottom .content {
    padding: 0;
    margin-top: 0;
  }
  
  #block-schulthess-digital-subfooterlogo {
    float: right;
    text-align: right;
  }
  
  #block-schulthess-digital-subfooterlogo img {
    max-width: 150px;
    height: auto;
  }
  
  /* TOP NAVIGATION */
  .region-top-header {
    padding-left: 60%;
  }
  
  #block-schulthess-digital-sprachumschalter .nav-link {
    padding: 0;
    margin: 0;
  }
  
  #block-schulthess-digital-sprachumschalter .nav-link a {
    text-transform: uppercase;
    text-decoration: none;
    color: var(--gray-2);
    padding: 0 5px;
    margin: 0;
    line-height: 10px;
    font-size: 12px;
    height: 10px;
  }
  
  #block-schulthess-digital-sprachumschalter .nav-link:first-of-type a {
    border-right: 1px solid var(--gray-2);
  }
  
  .menu--top-menu .nav-link {
    font-size: 12px;
    color: var(--gray-2);
    border-right: 1px solid var(--gray-2);
    height: auto;
    padding: 0 10px;
    line-height: 12px;
  }
  
  .menu--top-menu .nav-item:last-of-type .nav-link {
    border-right: 0px solid var(--gray-2);
  }
  
  .menu--top-menu li.nav-item:first-child a {
    font-size: 12px;
    color: white;
    border: 0px solid darkgray;
    background-color: darkgray;
    line-height: 18px; /* 150% */
    padding: 3px;
    margin-top: -6px;
  }
  
  .menu--top-menu li.nav-item:first-child a:hover {
    color: var(--accent-blue);
    background: rgba(255, 255, 255, 0);
    border: 0px;
  }
  
  .block-language,
  .menu--top-menu {
    width: auto;
    margin: 0;
    padding: 0;
  }
  
  .block-language {
    margin-right: 10px;
  }
  
  .menu--top-menu {
    margin-top: 7px;
  }
  
  /* MAIN MENU */
  #navbar-main {
    box-shadow: 0px 3px 4px 0px rgba(128, 128, 128, 0.35);
    -webkit-box-shadow: 0px 3px 4px 0px rgba(128, 128, 128, 0.35);
    -moz-box-shadow: 0px 3px 4px 0px rgba(128, 128, 128, 0.35);
  }
  
  .menu--main .nav-link {
    border-bottom: 2px solid #fff;
    margin: 10px 0px 10px 20px;
    padding: 5px 0 0 0 !important;
  }
  
  .menu--main .nav-link:hover,
  .menu--main .nav-link:focus,
  .menu--main li.active .nav-link {
    border-bottom: 2px solid var(--accent-blue);
  }
  
  .dropdown-toggle::after {
    display: none;
  }
  
  .menu--main .dropdown-menu {
    border: none;
    border-radius: 0;
    box-shadow: 0px 10px 7px -4px rgba(51, 51, 51, 0.59);
    -webkit-box-shadow: 0px 10px 7px -4px rgba(51, 51, 51, 0.59);
    -moz-box-shadow: 0px 10px 7px -4px rgba(51, 51, 51, 0.59);
  }
  
  .menu--main .dropdown-menu a {
    text-decoration: none;
    font-size: 14px;
    color: var(--schulthess-blue);
  }
  
  .menu--main .dropdown-menu a:hover {
    color: var(--accent-blue);
  }
  
  .menu--main .dropdown-item:hover {
    background-color: #fff;
  }
  
  .dropdown-item.active, 
  .dropdown-item:active {
    color: var(--schulthess-blue);
    text-decoration: none;
    background-color: #fff;
  }
  
  nav .navbar-nav {
    font-size: 18px;
    line-height: 27px; /* 150% */
  }
  
  /* LOGO */
  .logo {
    position: absolute;
    left: 72px;
  }
  
  .logo img {
    max-width: 200px;
    height: auto;
  }
  
  /* SLIDER & FLEXSLIDER */
  .flexslider {
    margin: 0 !important;
    border: 0 !important;
  }
  
  .slider-block-oben {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  
  .slider-block-oben .flexslider .views-field-nothing {
    position: absolute;
    top: 30%;
    right: 15%;
    padding: 10px;
    background: #fff;
    min-width: 250px;
  }
  
  .slider-block-oben .flexslider .views-field-nothing p {
    margin-bottom: 0;
    font-weight: 500;
    font-size: 25px;
    line-height: normal;
  }
  
  .slider-block-oben .flexslider .views-field-nothing .subtext {
    display: block;
    margin-top: 12px;
  }
  
  .slider-block-oben .flexslider .views-field-nothing .subtext p {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 15px;
    line-height: normal;
  }
  
  .slider-block-oben .flexslider .views-field-field-slidertext {
    position: absolute;
    top: 15%;
    left: 0;
    padding: 40px 40px 40px 15%;
    background: rgba(255, 255, 255, 0.5);
    max-width: 50%;
  }
  
  .slider-block-oben .flexslider .views-field-field-slidertext p {
    margin-bottom: 0;
    font-weight: 300;
    font-size: clamp(1vw,5vw,54px);
    color: #244566;
    line-height: normal;
    word-wrap: break-word;
  }

  
  /* Flex Navigation */
  .flex-prev,
  .flex-next {
    height: 55px !important;
    position: relative;
    font-size: 0px!important;
  }
  
  .flex-direction-nav a {
    color: #000;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0.3);
    font-size: 50px;
  }
  
  .view-id-slider .flex-direction-nav a {
    color: #fff;
  }
  
  .flex-direction-nav a:hover {
    color: var(--accent-blue);
  }
  
  .flexslider:hover .flex-direction-nav .flex-prev {
    opacity: 0.7;
    left: 10px;
  }
  
  .flex-prev::after {
    content: "\f053";
    font-family: "FontAwesome";
    font-weight: 300;
    left: 5px;
    position: absolute;
    top: 5px;
    font-size: 40px;
  }
  
  .flex-next::after {
    content: "\f054";
    font-family: "FontAwesome";
    font-weight: 300;
    right: 5px;
    position: absolute;
    top: 5px;
    font-size: 40px;
  }
  
  .flexslider:hover .flex-direction-nav .flex-prev::before,
  .flexslider:hover .flex-direction-nav .flex-next::before {
    display: none;
  }
  
  /* Flex Controls */
  .flex-control-nav {
    bottom: 0 !important;
    z-index: 3;
  }
  
  .flex-control-paging li a {
    font-family: Arial, Helvetica, sans-serif;
    width: 15px;
    height: 15px;
    background: #fff;
    background: rgba(255, 255, 255, 0.9);
    border: 0;
    box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.3);
    -moz-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.3);
    -o-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.3);
  }
  
  .flex-control-paging li a.flex-active,
  .flex-control-paging li a:hover {
    background: #D9D9D9;
    cursor: default;
  }
  
  .image-field-caption {
    position: absolute;
    bottom: 0;
    right: 20px;
    padding: 10px;
    background: #fff;
  }
  
  /* Carousel Styles */
  .carousel-testimonial h2,
  .block-views-blocktestimonial-carousel-block-1 {
    text-align: center;
  }
  
  .carousel-testimonial .flexslider {
    padding: 20px 60px;
    text-align: left;
  }
  
  .view-testimonial-carousel .flex-direction-nav .flex-prev {
    margin-left: -50px;
  }
  
  .view-testimonial-carousel .flex-direction-nav .flex-next {
    margin-right: -50px;
  }
  
  .view-testimonial-carousel .col-9 {
    margin-top: 20px;
  }
  
  .carousel-fachmodule li {
    text-align: center;
  }
  
  .carousel-fachmodule li h4 {
    margin: 32px 0;
  }
  
  .carousel-fachmodule .flexslider {
    background: transparent;
    border: 0;
  }
  
  .carousel-fachmodule .flex-direction-nav .flex-prev {
    margin-left: -50px;
    margin-top: -90px;
  }
  
  .carousel-fachmodule .flex-direction-nav .flex-next {
    margin-right: -50px;
    margin-top: -90px;
  }
  
  .carousel-fachmodule .view-content {
    margin-top: 32px;
  }
  
  .carousel-fachmodule .flex-viewport {
    margin-left: -20px;
  }
  
  .carousel-fachmodule .flex-prev::after {
    left: 0px;
  }
  
  /* CAROUSELL / FACHMODULE */
  .optionset-karussell img {
    padding-bottom: 24px;
  }
  
  .optionset-karussell p {
    font-size: 20px;
    line-height: 24px;
    height: 48px;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  
  /* MAIN CONTENT */
  /* Node Styles */
  .breit {
    padding: 0px 50%;
    margin: 0 -50%;
  }
  
  .breit .contextual {
    right: 25%;
  }
  
  .blau {
    background: var(--lightblue-box);
    padding-top: 88px;
    padding-bottom: 88px;
    margin-top: 88px;
    margin-bottom: 175px;
  }

  .block-content-bild_text_block_stapel,
  .block-system-main-block,
  .block-content-bild_text_block {
    margin-top: 132px;
    margin-bottom: 88px;
  }
  
  .block-content-bild_text_block_stapel:has(+ .blau),
  .block-system-main-block:has(+ .blau),
  .block-content-bild_text_block:has(+ .blau),
  .block-system-main-block:has(+ #block-schulthess-digital-fachmodul-asr-tafel) {
    margin-bottom: 0;
  }
  
  .box_first {
    margin-left: -20px;
    margin-right: 10px;
  }
  
  .box_last {
    margin-right: -20px;
    margin-left: 10px;
  }
  
  .last_block {
    margin-bottom: 0;
    padding-bottom: 0 !important;
  }
  
  .last_block.weiss {
    margin-bottom: 134px;
  }
  
  .last_block .blau:nth-last-of-type(1) {
    margin-bottom: 0;
    padding-bottom: 134px !important;
  }
  
  .main-content .block .container {
    margin-bottom: 0;
    margin-top: 0;
    padding-bottom: 134px !important;
  }
  
  .last_block .content .container,
  .node--type-stapel .node__content .container,
  .node__content .webform-submission-form .container {
    padding-bottom: 0px !important;
  }
  
  .view-fachmodul-carousel h2 {
    text-align: center;
  }
  
  .b-t-box {
    margin-top: 44px;
    margin-bottom: 44px;
  }
  
  .b-t-box h3,
  .fmt h3 {
    color: var(--schulthess-blue);
    margin-bottom: 20px;
  }
  
  .fmt h3 {
    text-align: center;
  }
  
  .higher_block {
    margin-top: 58px;
    margin-bottom: 58px;
  }
  
  .image-style-zeitschriften-400x520,
  .image-style-zeitschriften-400-breit {
    border: 1px solid #D9D9D9;
  }
  
  .container .row img {
    width: 100%;
  }
  
  /* Overview Styles */
  .overview .views-field-title {
    margin-top: 48px;
    margin-bottom: 32px;
    color: var(--schulthess-blue);
  }
  
  .overview .views-field-title h3 {
    margin-bottom: 0;
  }
  
  .overview.ius-overview .views-field-title {
    text-align: center;
  }
  
  .overview .views-field-field-call-to-action-link {
    margin-top: 24px;
    margin-bottom: 0;
    text-align: center;
  }
  
  /* Load Products Block */
  .dotted_top,
  .dotted_bottom {
    text-align: center;
    border-bottom: 1px dotted #000;
    position: relative;
    z-index: 1;
  }
  
  .load_more,
  .read_less {
    position: relative;
    bottom: -12px;
    background: #fff;
    padding: 0 20px;
    cursor: pointer;
    text-decoration: none;
    color: #000;
  }
  
  .read_less:hover,
  .load_more:hover {
    color: var(--accent-blue);
  }
  
  .load-more .view-footer {
    margin-bottom: 88px;
    margin-top: 58px;
  }
  
  .load-more .view-header {
    margin-top: 26px;
  }
  
  .load-more h5 {
    margin-top: -5px;
  }
  
  .view-produkt-uebersicht .view-footer {
    margin-top: 58px;
  }
  
  .col-8 {
    text-align: left;
  }
  
  .bez {
    color: var(--gray-2);
    margin-top: 5px;
    display: block;
  }
  
  .col h2:nth-of-type(1) {
    margin-top: 0px;
  }
  
  /* Produkt Listen */
  .view-produkt-listen .row .row li {
    margin-bottom: 65px;
  }
  
  .fm-overview .item-list {
    padding: 0;
  }
  
  .fm-overview {
    margin-right: -40px;
  }
  
  /* Fachmodule Auflistung auf Seite "Fachmodule" */
  .fm-overview p {
    font-weight: 400;
    color: #404040;
    font-size: 20px;
    line-height: 30px; /* 150% */
    hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
  }
  
  div.content .fm-overview h3 {
    font-size: 24px;
    line-height: 36px; /* 150% */
    text-align: left;
    color: black;
  }
  
  .fm-overview .fmt {
    padding: 15px;
  }
  
  .fmt .views-field-field-call-to-action-link {
    text-align: center;
    margin-top: 32px;
    margin-bottom: 88px;
  }
  
  .fmt .views-field-field-call-to-action-link p {
    margin: 0;
  }
  
  .fmt-container {
    margin-left: -10px;
  }
  
  .fmt-container .fmt {
    padding: 0 88px 0 0;
  }
  
  .fmt .views-field-title {
    margin-top: 32px;
  }
  
  .fm-overview h3 {
    text-align: center;
    color: var(--schulthess-blue);
  }
  
  .fm-overview .views-field-field-call-to-action-link {
    text-align: center;
  }
  
  /* Responsive Grid */
  .views-view-responsive-grid__item {
    margin-bottom: 8px;
  }
  
  .grd-3 .views-view-responsive-grid--horizontal .views-view-responsive-grid__item {
    margin-right: -12px;
    margin-left: -12px;
  }
  
  /* Inhalte mit RECHT/LINKS - Text mit mehr Abstand */
  article div.row div.col:first-of-type p {
    padding-right: 58px;
  }
  
  article div.col + div.col p {
    padding-left: 58px;
  }
  
  article div.col + div.col h2,
  article div.col + div.col h3 {
    padding-left: 58px;
  }
  
  /* Kontakt Form */
  #edit-container-02 {
    text-align: left;
  }
  
  #edit-container-02 .form-check .form-check-input {
    float: none;
  }
  
  /* Webformulare */
  .webform-submission-form {
    padding: 1em;
    border: 1px solid var(--gray-1);
    margin-bottom: 32px;
    background-color: #E9ECEF;
  }
  
  .webform-submission-form .form-control,
  .webform-submission-form .form-select {
    border-radius: 0;
    border: 1px solid var(--gray-1);
  }
  
  .webform-submission-form label {
    color: var(--schulthess-blue);
    font-size: 20px;
    font-weight: 300;
    color: rgb(59, 59, 59);
    padding-bottom: 4px;
  }
  
  .form-required::after {
    content: '*';
    font-size: 12px;
    font-weight: 800;
    color: red;
    background-image: none;
  }
  
  .webform-confirmation {
    font-size: 20px;
    line-height: 30px;
  }
  
  /* Newsletter Form */
  .webform-submission-newsletter-form {
    border: 0px solid var(--gray-1);
    padding: 1em;
    margin-bottom: 32px;
  }
  
  .webform-submission-newsletter-form #edit-container1 {
    padding: 0 0 0 0;
  }
  
  .webform-submission-newsletter-form input,
  .webform-submission-newsletter-form select {
    font-size: 20px;
    color: #244566;
    font-weight: 500;
  }
  
  .check-trigger,
  #edit-container-7 {
    position: relative;
    text-align: left;
    border: 1px solid var(--gray-1);
    padding: 2px 10px;
    margin-bottom: 0px!important;
    margin-top: 64px;
  }
  
  .more-journals-options summary {
    padding: 4px 5px 4px 0;
    margin: 0px 0 0 -5px;
    font-size: 20px;
    color: #244566;
    font-weight: 500;
    width: fit-content;
  }
  
  .more-journals-options summary::marker {
    color: #fff;
  }
  
  .more-journals-options summary::after {
    content: "\f078";
    font-family: "FontAwesome";
    font-weight: 300;
    font-size: 14px;
    margin-left: 5px;
    position: absolute;
    right: 10px;
  }
  
  .js-form-item-more-journals {
    cursor: pointer;
  }
  
  .more-journals-options {
    border: 1px solid var(--gray-1);
    background: #fff;
    padding: 10px;
  }
  
  .more-journals-options input {
    margin-top: 7px;
  }
  
  .more-journals-options label {
    font-size: 12px;
    color: #244566;
    font-weight: 500;
  }

  .more-journals-options .js-form-item {
    margin: 0 0 0 0 !important;
  }
  
  #edit-text-ende {
    font-size: 14px;
  }
  
  .more-journals-options .details-wrapper {
    position: absolute;
    margin: 10px -10px 0 -10px;
    padding: 10px;
    background: #fff;
    box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.53);
    -webkit-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.53);
    -moz-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.53);
  }
  
  #edit-text-ende span {
    display: block;
    font-weight: 500;
    color: #244566;
  }
  
  .webform-submission-newsletter-form .captcha,
  .captcha-admin-links {
    padding: 10px;
    margin-top: 50px;
    border: 1px solid #E9ECEF;
    width: fit-content;
  }
  
  .captcha__title {
    display: none;
  }

  .webform-submission-newsletter-form .captcha__title {
    background: #fff;
    margin-top: -30px;
    font-size: 20px;
    width: fit-content;
  }

  /* MEGA MENU */
  .breite_menu {
    padding: 0px 50%;
    margin: 0 -50%;
  }
  
  .megamenu {
    border-top: 0px solid #898988;
    border-bottom: 0px solid #898988;
    left: 0;
    top: 0;
    min-height: 100%;
    position: absolute;
    z-index: 1000;
    width: 100%;
    background: #E9ECEF;
    padding: 20px 0;
  }
  
  .megamenu ul {
    list-style-type: none;
    margin: 0 0 38px 0;
    padding: 0 0 0 0;
  }
  
  .megamenu ul li {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
  }
  
  .megamenu ul li a {
    margin: 0 0 0 0;
    padding: 0 0 10px 0;
  }
  
  .megamenu a,
  .bu_mega a,
  .megamenu ul li a {
    color: #244566;
    text-decoration: none;
    font-size: 18px;
    line-height: 22px;
    display: block;
  }
  
  .megamenu a:hover,
  .bu_mega a:hover,
  .megamenu ul li a:hover {
    color: #8AC7EF;
  }
  
  .bu_mega {
    margin: 15px 0 20px 0;
  }

  .megamenu h1,
  .megamenu h2,
  .megamenu h3,
  .megamenu h4,
  .megamenu h5,
  .megamenu h6 {
    font-weight: 500;
    font-size: 15px;
    color: #244566;
    margin: 0 0 16px 0;
    padding: 0 0 0 0;
  }
  
  .megamenu .col {
    border: 0px solid blue;
    margin: 0 0 0 0;
    padding: 20px 0 0 0;
  }
  
  .megamenu .col1 {
    padding-right: 20px;
  }
  
  .megamenu .col2 {
    padding-left: 10px;
    padding-right: 10px;
  }
  
  .megamenu .col3 {
    padding-left: 20px;
  }
  
  .megamenu .col p {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
  }
  
  .mega_vollbild {
    max-height: 100%;
    border: 0px solid red;
  }
  
  .mega_halbbild {
    max-height: 50%;
    border: 0px solid red;
  }
  
  .mega_vollbild img,
  .mega_halbbild img {
    max-height: 100%;
    width: auto;
  }

  /* TABS */
  .quicktabs-wrapper .blau {
    padding: 0 0 20px 0;
    margin: 0;
  }
  
  /* Bilder von Autoren im ersten TAB (Redaktion) */
  .quicktabs-wrapper .quicktabs-tabpage:first-child img {
    max-width: 100px;
    height: auto;
    margin-bottom: 20px;
  }

  .quicktabs-main {
    padding: 44px 50%;
    padding-top: 0px;
    margin: 0 -50%;
    height: auto;
  }

  .quicktabs-main .field--name-body {
    margin-bottom: 44px;
  }
  
  .quicktabs-main .quicktabs-tabpage:first-of-type .field--name-body h3 {
    margin-bottom: 44px;
  }

  .on-the-gray .quicktabs-tabpage {
    padding: 0.5em 2em 1em;
    padding-top: 50px;
    border: 0;
    background: #fff;
    border: 1px solid var(--gray-1);
    box-shadow: 3px 3px 3px 0px rgba(128, 128, 128, 0.35);
    -webkit-box-shadow: 3px 3px 3px rgba(128, 128, 128, 0.35);
    -moz-box-shadow: 3px 3px 3px rgba(128, 128, 128, 0.35);
  }
  
  .on-the-gray .quicktabs-tabpage .blau {
    background: #fff;
  }
  
  .block-quicktabs > h2 {
    text-align: center;
    margin: 0 0 80px 0;
  }

  ul.quicktabs-tabs {
    padding-left: 0px!important;
  }

  #quicktabs-tabpage-tabs_zeitschriften-0 .list-group-item,
  .on-the-gray .quicktabs-tabs > li > a,
  .list-group-item.active,
  .list-group-item + .list-group-item,
  .list-group-item {
    border: 0;
  }
  
  .on-the-gray {
    margin: 0 -10px;
    padding: 0 0;
  }
  
  .on-the-gray ul.quicktabs-tabs li {
    display: inline-block;
    padding-bottom: 0px!important;
  }

  .list-group-item.active {
    background: #fff;
  }

  .on-the-gray .quicktabs-tabs li a {
    font-size: 22px;
    font-weight: 400;
    color: #898989;
    border: 1px solid var(--gray-1);
  }

  .on-the-gray .quicktabs-tabs > li > a {
    background: rgba(128, 128, 128, 0.05);
    padding-left: 60px;
    padding-right: 60px;
  }
  
  .on-the-gray .quicktabs-tabs > li > a:hover, 
  .on-the-gray .quicktabs-tabs > li.active > a {
    background: rgba(128, 128, 128, 0.05);
  }
  
  .on-the-gray .quicktabs-tabs li.active > a::after {
    content: "";
    position: absolute;
    background-color: #0077BD;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 6px;
  }
  
  .ckeditor-readmore-toggler {
    text-decoration: none;
    color: #8AC7EF;
  }
  
  .quicktabs-tabpage .field--name-body > h3 {
    font-weight: 500;
    color: #244566;
  }
  
  .quicktabs-tabpage h4 {
    margin-bottom: 0;
    line-height: 28px;
  }
  
  .quicktabs-tabpage h6 {
    font-weight: 500;
    font-size: 18px;
    color: var(--schulthess-blue);
    margin-bottom: 0;
    line-height: 28px;
  }
  
  .quicktabs-tabpage strong {
    color: var(--schulthess-blue);
  }
  
  /* Schriftgrössen bei QuickTabs Inhalten reduziert */
  .quicktabs-main p {
    font-weight: 400;
    color: #404040;
    font-size: 20px;
    line-height: 30px; /* 150% */
  }
  
  .quicktabs-main h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 30px; /* 150% */
  }
  
  /* Notwendig bei Redaktionen mit [mehr] */
  .quicktabs-main .ckeditor-readmore-wrapper {
    padding-bottom: 44px;
  }
  
  /* Bilder/Fotos (Redaktionen) mit kleinem Rahmen */
  .quicktabs-main img {
    border: 0px solid lightgray;
  }
  
  .main-content .block .quicktabs-main .container .row.blau:nth-last-of-type(1) {
    padding-bottom: 0px !important;
  }
  
  .block-content-bild_text_block_stapel .content .container .row.blau:nth-last-of-type(1) {
    margin-top: 0px;
  }
  
  #block-schulthess-digital-02gleichausprobierenstapel {
    margin-top: 88px;
  }
  
  #block-schulthess-digital-views-block-fachmodul-carousel-block-3.blau.last_block {
    padding-bottom: 88px!important;
  }
  
  .container .row .field--name-field-bild-text-box-9:has(> img.vcenter){
    display: flex;
    align-items: center;
  }

  /* BTT */
  #backtotop {
    font-size: 0;
  }

  #backtotop::after {
    content: "\f106";
    font-family: "FontAwesome";
    font-weight: 300;
    font-size: 20px;
  }

  /* Regel für Abstände */
  .row.blau:nth-last-of-type(1) {
    margin-top: 0px;
  }
  
  /* Utility Classes */
  .sticky-ontop {
    position: fixed;
    top: 0;
    width: 100%;
  }
  
  iframe {
    max-width: 100%;
  }
  
  .more {
    margin-top: 23px;
  }
  
  .block-system-main-block .node__content .container .row {
    margin-bottom: 88px;
  }
  
  .weg {
    display: none;
  }
  
  .main-content .field--name-body {
    margin-bottom: 88px; 
  }
  
  .no-klapp {
    margin-top: 48px;
  }
  
  /* Vereinfachte Produkteliste */
  #main div.box_first ul.produktliste {
    padding-left: 0;
  }
  
  #main ul.produktliste {
    font-size: 18px !important;
    font-weight: 300;
    line-height: 26px !important; /* 150% */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 80px;
    gap: 16px 16px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  #main ul.produktliste li {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ccc;
    padding: 0;
  }
  
  #main ul.produktliste li a {
    display: flex;
    align-items: center;
    justify-content: left;
    width: 100%;
    height: 100%;
    padding: 16px;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  
  #main ul.produktliste li:hover {
    background-color: var(--accent-blue);
    color: white;
  }
  
/* Anpassangen SJM / 13.10.2025 mha -> 231013-22:20 in oben stehenden Code integriert by SP */


  /* Sonderlösung damit auf https://schulthess.digital/de das Bild mit "WEB <-> PRIN" vertikal zentriert wird.
     Mussten zusätzlich das auf eine Klasse auf das untere Element (img) machen, weil sonst bei den Autoren Auflistung
	 den Zeitschriften Seiten es unschön wurde, weil dort auch eine bild-text-box-9 verwendet wird. 
	 Eigentlich wäre sowas in einem custom style zu sehen, da es schon ein sehr spezieller Fall ist. */
  /*html .container .row .field--name-field-bild-text-box-9:has(> img.vcenter){
    display: flex;
    align-items: center;
  }*/
  /* Beim Hauptbanner sollte der "weisse" Kasten noch etwas grösser werden - 
  bzw. mehr Abstand zum TExt aufweisen - dieses ist auch direkt für Mobile so in Ordnung */
  /*html .slider-block-oben .flexslider .views-field-field-slidertext {
    padding: 40px 40px 40px 15%;
  }*/