/*
This file is part of a project by YOUHEY Communication AG.
Unless otherwise stated, all rights are held by the author.
*/
/*
    Created on : 18.02.2026, 09:16:23
    Author     : Kilian Frey <kilian.frey@youhey.ch>
*/
/* # Variables # */
:root {
  --primary: #36a9e0;
  --primary-hover: #2982ad;
  --primary-80: #36a9e0cc;
  --secondary: #8b1314;
  --secondary-hover: #be1621;
  --grey: #878786;
  --border-radius: 18px;
}
/* ## Bootstrap Overrides ## */
:root {
  --bs-body-color: #555;
  --bs-heading-color: #000;
  /*#242021;*/
}
.btn {
  --bs-btn-border-radius: 0;
  --bs-btn-font-weight: 400;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-padding-y: 0.3rem;
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--primary-hover);
  --bs-btn-hover-border-color: var(--primary-hover);
  --bs-btn-focus-shadow-rgb: 141, 194, 104;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--primary-hover);
  --bs-btn-active-border-color: var(--primary-hover);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--secondary);
  --bs-btn-border-color: var(--secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--secondary-hover);
  --bs-btn-hover-border-color: var(--secondary-hover);
  --bs-btn-focus-shadow-rgb: 217, 217, 218;
  --bs-btn-active-color: var(--bs-body-color);
  --bs-btn-active-bg: var(--secondary-hover);
  --bs-btn-active-border-color: var(--secondary-hover);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}
.offcanvas {
  --bs-offcanvas-bg: #1c5e7b;
  --bs-offcanvas-padding-y: 10px;
  --bs-offcanvas-width: 100%;
}
.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--primary);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--primary-hover);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(141, 194, 104, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: var(--primary);
  --bs-pagination-active-border-color: var(--primary);
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
}
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-Italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-Light.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-Bold.ttf) format('truetype');
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../Fonts/Titillium_Web/TitilliumWeb-Black.ttf) format('truetype');
}
/* # Typography # */
html {
  font-size: 20px;
}
body {
  font-family: 'Titillium Web', sans-serif;
  font-size: 1rem;
  font-weight: 400;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  margin-bottom: 1rem;
}
@media (min-width: 1200px) {
  h1,
  .h1 {
    font-size: 44px;
    letter-spacing: 2%;
  }
  h2,
  .h2 {
    font-size: 36px;
    letter-spacing: 2%;
  }
}
.subheader {
  font-weight: 400;
}
strong,
.strong {
  font-weight: 700;
}
/* # Layout # */
body {
  --container-width: 100%;
  --frame-margin-bottom: 2rem;
  --nav-height: 63px;
  background-color: #fff;
}
body > .wrapper {
  min-height: 100vh;
}
.container .container,
.container-fluid .container-fluid {
  padding: 0;
}
#scrollanchor,
.frame {
  scroll-margin-top: 70px;
}
/* .frame:not(.frame-type-header):not(.frame-type-container) { */
/* .frame, */
.frame:not(.frame-type-container) {
  margin-bottom: var(--frame-margin-bottom);
}
.frame-type-container .g-col .frame:not(.frame-type-container):last-child,
.frame-type-container .container-column .frame:not(.frame-type-container):last-child {
  margin-bottom: var(--frame-margin-bottom);
  /* margin-bottom: 0; */
}
@media (min-width: 768px) {
  .frame-type-container .g-col .frame:not(.frame-type-container):last-child,
  .frame-type-container .container-column .frame:not(.frame-type-container):last-child {
    /* margin-bottom: 1.7875rem; */
  }
}
.page-content {
  padding: 2rem 0;
}
.content > .col > .frame:last-child {
  margin-bottom: 0;
}
.frame-space-after-extra-small {
  margin-bottom: 0.5rem !important;
}
.frame-space-after-small {
  margin-bottom: 1.575rem !important;
}
.frame-space-after-medium {
  margin-bottom: 2rem !important;
}
.frame-space-after-large {
  margin-bottom: 2.5rem !important;
}
.frame-space-after-extra-large {
  margin-bottom: 3rem !important;
}
.frame-space-before-extra-small {
  margin-top: 0.5rem !important;
}
.frame-space-before-small {
  margin-top: 1.575rem !important;
}
.frame-space-before-medium {
  margin-top: 2rem !important;
}
.frame-space-before-large {
  margin-top: 2.5rem !important;
}
.frame-space-before-extra-large {
  margin-top: 3rem !important;
}
.imagecarousel {
  border-bottom: 12px solid var(--primary);
}
.imagecarousel .splide {
  padding-bottom: 2px;
}
/* # container # */
.frame-type-container-container_100 > .g-grid,
.frame-type-container-container_50-50 > .g-grid,
.frame-type-container-container_66-33 > .g-grid,
.frame-type-container-container_33-66 > .g-grid,
.frame-type-container-container_3x33 > .g-grid,
.frame-type-container-container_4x25 > .g-grid {
  display: grid;
  gap: var(--bs-gutter-y) var(--bs-gutter-x);
  grid-template-columns: 1fr;
}
.frame-type-container-container_100.frame-layout-10 > .g-grid {
  grid-auto-rows: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .frame-type-container-container_100.frame-layout-10 > .g-grid {
    gap: 2rem;
  }
  .frame-type-container-container_100.frame-layout-10 > .g-grid,
  .frame-type-container-container_50-50 > .g-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .frame-type-container-container_66-33 > .g-grid {
    grid-template-columns: 2fr 1fr;
  }
  .frame-type-container-container_33-66 > .g-grid {
    grid-template-columns: 1fr 2fr;
  }
  .frame-type-container-container_4x25 > .g-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .frame-type-container-container_100.frame-layout-10 > .g-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .frame-type-container-container_3x33 > .g-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .frame-type-container-container_4x25 > .g-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* # Head # */
.page-head {
  background-color: #fff;
  height: 80px;
  position: sticky;
  top: 0px;
  z-index: 10;
}
@media (min-width: 768px) {
  .page-head {
    height: 124px;
    transition: height 0.3s ease;
  }
  body.scroll .page-head {
    height: 90px;
  }
}
@media (min-width: 1200px) {
  .page-head {
    background: linear-gradient(180deg, #fff 0px, #fff 106px, var(--primary) 106px, var(--primary) 100%);
    height: auto;
  }
}
.page-head .container {
  height: 100%;
}
.page-head .page-title {
  display: inline-block;
  /*padding: 10px 0;*/
}
@media (min-width: 768px) {
  .page-head .page-title {
    /*padding: 20px 0;*/
  }
}
.page-head .page-title a {
  background-color: #fff;
  display: block;
  padding: 10px 12px;
}
.page-head .page-title img {
  height: 60px;
  transition: height 0.3s ease;
  width: auto;
}
@media (min-width: 768px) {
  .page-head .page-title img {
    height: 100px;
  }
  body.scroll .page-head .page-title img {
    height: 50px;
  }
}
@media (min-width: 1200px) {
  .page-head .page-title a {
    box-shadow: -6px 0 8px #6665;
  }
  .page-head .page-title img {
    height: 150px;
  }
}
.page-head-navigation {
  display: grid;
  grid-template-rows: 107px 100%;
}
@media (max-width: 1199px) {
  .page-head-navigation {
    align-items: center;
    grid-template-rows: 100%;
    justify-content: end;
  }
}
.hamburgercontainer {
  display: inline-block;
  padding: 16px 0 0;
}
.hamburger {
  padding: 10px;
}
.hamburger-box {
  transform: scale(0.9);
}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before,
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::after,
.hamburger.is-active .hamburger-inner::before {
  background-color: var(--primary);
}
.page-head .page-head-meta {
  align-items: end;
  display: flex;
  font-size: 0.8rem;
  justify-content: end;
  overflow: hidden;
}
/* # Foot # */
.page-foot {
  --frame-margin-bottom: 2rem;
  background: var(--primary);
  color: #fff;
  font-size: 0.8rem;
  padding: 1.5rem 0;
}
@media (min-width: 768px) {
  .page-foot {
    font-size: 1rem;
  }
}
.page-foot header {
  margin-bottom: 2rem;
}
.page-foot a,
.page-foot a:hover {
  color: inherit;
  text-decoration: underline;
}
/* # navigation # */
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav a,
nav a:hover {
  color: inherit;
  text-decoration: none;
}
/* ## desktop ## */
nav.desktop {
  align-content: center;
  /*background-color: var(--primary);*/
  /*box-shadow: 0 6px 6px #0002;*/
  display: grid;
  font-size: 22px;
  height: var(--nav-height);
  letter-spacing: 18%;
  margin-left: 1rem;
  overflow: visible;
  position: relative;
}
nav.desktop li.group {
  display: inline-block;
  overflow: visible;
  position: relative;
}
nav.desktop a {
  align-content: center;
  /*border-bottom: 1px transparent solid;*/
  display: inline-flex;
  flex-direction: column;
  font-weight: 600;
  height: var(--nav-height);
  justify-content: center;
  line-height: 26px;
  padding: 0 20px;
  pointer-events: all;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  z-index: 2;
}
nav.desktop .group:first-child > a {
  /*padding-left: 0;*/
}
nav.desktop .nav-link {
  color: #fff;
  text-align: center;
  width: 100%;
}
nav.desktop .nav-link span {
  display: inline-block;
  padding: 3px 0;
}
nav.desktop li:hover a,
nav.desktop li.active a,
nav.desktop li.current a {
  text-decoration: none;
}
nav.desktop li:hover a span,
nav.desktop li.active a span,
nav.desktop li.current a span {
  /*border-bottom: var(--primary) 1px solid;*/
}
/* ### submenu ### */
nav.desktop .submenu {
  background-color: #fffd;
  /*border-radius: 0 0 var(--border-radius) var(--border-radius);*/
  box-shadow: 3px 3px 6px #0002;
  display: none;
  left: 20px;
  letter-spacing: 2%;
  padding: 12px 0;
  position: absolute;
  top: calc(var(--nav-height) - 1px);
  z-index: 2;
}
nav.desktop li:hover > .submenu {
  display: inline-block;
}
nav.desktop .submenu ul {
  list-style-type: none;
  margin: 0;
  padding: 0 12px;
}
nav.desktop .submenu li {
  display: block;
  margin: 0;
  min-width: 200px;
  position: relative;
}
nav.desktop .submenu li:last-child {
  border-bottom: 0;
}
nav.desktop .submenu li.sub {
  display: flex;
}
nav.desktop .submenu li.sub:hover .submenu {
  /* display: block; */
}
nav.desktop .submenu a {
  /*border-bottom: 1px solid var(--bs-heading-color);*/
  color: var(--bs-heading-color);
  display: inline-flex;
  font-weight: 400;
  height: auto;
  padding: 6px 0;
  text-transform: unset;
  white-space: nowrap;
  width: 100%;
}
nav.desktop .submenu a::after {
  content: attr(data-text);
  content: attr(data-text) / "";
  font-weight: 700;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  visibility: hidden;
}
nav.desktop .submenu .nav-link {
  text-align: left;
}
nav.desktop .submenu li.active a,
nav.desktop .submenu li.current a,
nav.desktop .submenu li:hover a {
  font-weight: 700;
}
nav.desktop .submenu .submenu {
  left: 100%;
  padding: 18px 0 24px;
  top: -19px;
}
/* ## language ## */
nav.language {
  --padding-right: 1.5rem;
  color: inherit;
  display: inline-block;
  padding: 9px 24px;
  padding-right: var(--padding-right);
}
@media (min-width: 768px) {
  nav.language {
    padding-right: calc((100vw - 720px) / 2);
  }
}
@media (min-width: 992px) {
  nav.language {
    padding-right: 0;
    /*padding-right: calc((100vw - 960px) / 2);*/
  }
}
@media (min-width: 1200px) {
  nav.language {
    /*padding-right: calc((100vw - 1140px) / 2);*/
  }
}
@media (min-width: 1400px) {
  nav.language {
    /*padding-right: calc((100vw - 1320px) / 2);*/
  }
}
nav.language li {
  display: inline-block;
}
nav.language li:not(:last-child):after {
  content: "|";
}
nav.language li > * {
  padding: 3px 3px 2px;
}
nav.language a {
  color: inherit;
}
nav.language li.active a {
  font-weight: bold;
  padding: 2px 3px;
}
nav.language li.muted {
  color: #fff9;
  cursor: not-allowed;
}
@media (min-width: 1200px) {
  nav.language li.muted {
    color: #555d;
  }
}
/* ## meta ## */
nav.meta {
  display: inline-block;
  padding: 9px 12px;
}
nav.meta li {
  display: inline-block;
  margin: 0 12px;
}
nav.meta li a {
  color: inherit;
  text-transform: uppercase;
}
nav.meta .icon {
  display: inline-block;
  margin-right: 2px;
}
/* ## mobile ### */
.offcanvas {
  background: linear-gradient(90deg, var(--primary) 0%, var(--primary-hover) 100%);
}
.offcanvas-header {
  background-color: #fff;
}
.offcanvas-header img {
  height: 60px;
}
@media (min-width: 768px) {
  .offcanvas-header {
    height: 124px;
  }
}
.offcanvas .btn-close {
  color: var(--primary);
}
.offcanvas-body {
  padding: 0;
}
nav.mobile ul.menu {
  margin: 0;
  margin-bottom: 3px;
}
nav.mobile ul.menu li {
  display: block;
  overflow: hidden;
  padding: 0;
  position: relative;
}
nav.mobile li {
  transition: all 0.3s ease;
}
nav.mobile .menu a {
  color: #fff;
  display: block;
  font-size: 1.1rem;
  padding: 6px 0;
  margin: 0 12px;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  z-index: 5;
}
@media (min-width: 768px) {
  nav.mobile .menu a {
    font-size: 1.1rem;
    padding: 6px 10px;
  }
}
nav.mobile li:active > a,
nav.mobile li:focus > a,
nav.mobile li:hover > a,
nav.mobile .active > a,
nav.mobile .current > a,
nav.mobile .subopen > a {
  font-weight: 700;
}
nav.mobile .subindicator {
  height: 22px;
  position: absolute;
  right: 10px;
  top: 10px;
  transition: all 0.3s ease;
  width: 22px;
}
nav.mobile .submenu {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
nav.mobile .submenu > ul {
  min-height: 0;
  transition: visibility 0.3s ease;
  visibility: hidden;
}
nav.mobile ul.menu .submenu li {
  margin-bottom: 0;
  padding: 0;
}
nav.mobile .submenu li:last-child {
  border-bottom: 0px;
}
nav.mobile .submenu a {
  border-bottom: 1px solid #fff;
  display: block;
  font-size: 0.9rem;
  font-weight: 400;
  text-transform: unset;
}
nav.mobile ul.menu .submenu li.active a,
nav.mobile ul.menu .submenu li.current a,
nav.mobile ul.menu .submenu li:hover a {
  font-weight: 700;
}
nav.mobile li.subopen > a > .toggle-submenu > .subindicator {
  transform: rotate(180deg);
}
nav.mobile li.subopen > .submenu {
  grid-template-rows: 1fr;
}
nav.mobile li.subopen > .submenu > ul {
  visibility: visible;
}
/* ### mobile meta and language ### */
.mobile-meta {
  color: #fff;
  font-size: 0.8rem;
}
.mobile-meta nav.meta {
  border-radius: 0 0 0 var(--border-radius);
}
.mobile-meta nav.meta li {
  margin: 0 8px;
}
.mobile-meta nav.meta svg {
  height: 14px;
  width: 14px;
}
.mobile-meta nav.language {
  padding: 9px 12px;
}
/* # Content # */
.page-content p,
.page-content ul {
  hyphens: auto;
}
ol,
ul {
  padding-left: 20px;
}
a {
  color: var(--primary);
}
a:hover {
  color: var(--primary-hover);
  text-decoration: underline;
}
p {
  margin-bottom: 1rem;
}
p:last-child {
  margin-bottom: 0;
}
hr {
  color: var(--primary);
}
@media (min-width: 1200px) {
  .btn {
    font-size: 24px;
    letter-spacing: 5%;
  }
}
.btn:hover {
  text-decoration: none;
}
.btn-100 {
  --bs-btn-padding-y: 0.6rem;
  width: 100%;
}
a.marker-link {
  background: transparent no-repeat left 12px;
  background-image: url('data:image/svg+xml,<svg fill="%234f5b8c" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 9.9 9.5"><path d="M5.5,9.2s4.4-4.4,4.4-4.4c0,0,0,0,0-.1h0s0,0,0,0c0,0,0,0,0-.1C9.8,4.6,5.5.2,5.5.2,5.3,0,5.1,0,4.8,0c-.6,0-1.1.5-1.1,1.1s.2.7.4.8l1.7,1.7s-4.7,0-4.8,0c-.6,0-1.1.5-1.1,1.1,0,0,0,0,0,0h0c0,.6.5,1.1,1.1,1.1s4.8,0,4.8,0l-1.7,1.7c-.3.2-.4.5-.4.8,0,.6.5,1.1,1.1,1.1s.5,0,.6-.2Z"/></svg>');
  background-size: 12px;
  padding-left: 18px;
}
.underline {
  border-bottom: 1px solid var(--primary);
  display: inline-block;
  padding: 3px 0;
  width: 100%;
}
.underline:hover {
  text-decoration: none;
}
.frame-layout-1 {
  background: #e5e6e6;
  background: linear-gradient(0deg, #ffffff 60%, #e5e6e6 100%);
  padding: 2rem 0 0;
}
.frame-hasLink {
  align-items: stretch;
  display: inline-flex;
  flex-direction: column;
  height: calc(100% - var(--frame-margin-bottom));
  width: 100%;
}
.frame-hasLink .ce-text,
.frame-hasLink .ce-textmedia,
.frame-hasLink .ce-textpic,
.frame-hasLink .ce-image {
  flex-grow: 1;
}
.frame-hasLink .more {
  margin-top: 1rem;
  text-transform: capitalize;
}
.frame-hasLink .more .btn {
  border-radius: 0 0 var(--bs-btn-border-radius) var(--bs-btn-border-radius);
}
.ce-image,
.ce-textmedia,
.ce-textpic {
  --bs-gutter-x: 2rem;
  display: flex;
  flex-direction: column;
  gap: calc(var(--bs-gutter-x) / 2) var(--bs-gutter-x);
}
.ce-textmedia.ce-above,
.ce-textmedia.ce-below,
.ce-textpic.ce-above,
.ce-textpic.ce-below {
  flex-direction: column;
}
.ce-image,
.ce-textmedia:not(.ce-above):not(.ce-below) .ce-gallery,
.ce-textpic:not(.ce-above):not(.ce-below) .ce-gallery,
.ce-textmedia:not(.ce-above):not(.ce-below) .ce-bodytext,
.ce-textpic:not(.ce-above):not(.ce-below) .ce-bodytext {
  order: 1;
  flex-grow: 1;
}
.ce-textpic.ce-right .ce-gallery {
  order: 2;
}
@media (min-width: 768px) {
  .ce-image.columns-1,
  .ce-textmedia.columns-1:not(.ce-above):not(.ce-below),
  .ce-textpic.columns-1:not(.ce-above):not(.ce-below) {
    flex-direction: row;
  }
  .ce-textpic.columns-1.ce-left .ce-gallery,
  .ce-textpic.columns-1.ce-right .ce-gallery {
    width: calc(30% - (var(--bs-gutter-x) / 2));
  }
  .ce-textpic.columns-1.ce-left .ce-bodytext,
  .ce-textpic.columns-1.ce-right .ce-bodytext {
    width: calc(70% - (var(--bs-gutter-x) / 2));
  }
}
@media (min-width: 768px) {
  .ce-image,
  .ce-textmedia:not(.ce-above):not(.ce-below),
  .ce-textpic:not(.ce-above):not(.ce-below) {
    flex-direction: row;
  }
  .ce-textpic.ce-left .ce-gallery,
  .ce-textpic.ce-right .ce-gallery {
    width: calc(50% - (var(--bs-gutter-x) / 2));
  }
  .ce-textpic.ce-left .ce-bodytext,
  .ce-textpic.ce-right .ce-bodytext {
    width: calc(50% - (var(--bs-gutter-x) / 2));
  }
}
.ce-textpic.ce-below .ce-bodytext {
  margin-bottom: 1rem;
}
.ce-gallery {
  /*--gallery-gap: calc(var(--bs-gutter-x) / 2);*/
  --gallery-gap: var(--bs-gutter-x);
  display: flex;
  flex-direction: column;
  gap: var(--gallery-gap);
}
.ce-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gallery-gap);
}
@media (min-width: 768px) {
  .ce-row {
    flex-wrap: nowrap;
  }
}
.ce-gallery.columns-1 {
  --gallery-columns: 1;
}
.ce-gallery.columns-2,
.ce-gallery.columns-4 {
  --gallery-columns: 2;
}
.ce-gallery.columns-3,
.ce-gallery.columns-6 {
  --gallery-columns: 3;
}
@media (min-width: 992px) {
  .ce-gallery.columns-4 {
    --gallery-columns: 4;
  }
}
@media (min-width: 1200px) {
  .ce-gallery.columns-6 {
    --gallery-columns: 6;
  }
}
.ce-gallery .ce-column {
  text-align: center;
  width: calc((100% / var(--gallery-columns)) - (var(--gallery-gap) * (var(--gallery-columns) - 1)) / var(--gallery-columns));
}
.ce-center .ce-row {
  justify-content: center;
}
.ce-right .ce-row {
  justify-content: flex-end;
}
figure {
  display: block;
  margin: 0;
}
.ce-col figure {
  margin-bottom: 0;
}
figure figcaption {
  font-size: 0.85rem;
  padding-top: 0.25rem;
  word-wrap: break-word;
}
.ce-border img {
  border: 1px solid var(--color-grey-900);
}
@media (max-width: 767px) {
  .frame-fluid .ce-gallery {
    margin: 0 calc(-1 * var(--bs-gutter-x));
  }
}
/*
This file is part of a project by YOUHEY Communication AG.
Unless otherwise stated, all rights are held by the author.
*/
/* 
    Created on : 15.01.2026, 16:27:22
    Author     : Kilian Frey <kilian.frey@youhey.ch>
*/
/* # content-block # */
/* ## imagebox ## */
.frame-type-imagebox {
  height: 100%;
}
.frame-type-imagebox > a,
.frame-type-imagebox > div {
  height: calc(100% - var(--frame-margin-bottom));
}
.frame-type-imagebox .background {
  position: relative;
}
.frame-type-imagebox .overlay {
  background-color: #fffc;
  bottom: 12px;
  color: var(--bs-heading-color);
  left: 15px;
  padding: 15px;
  position: absolute;
  right: 15px;
}
.frame-type-imagebox .overlay h3 {
  font-size: 1.1rem;
  font-weight: bold;
}
.frame-type-imagebox .more {
  margin-top: 2px;
}
.frame-type-imagebox .btn {
  border-radius: 0 0 var(--bs-btn-border-radius) var(--bs-btn-border-radius);
  text-transform: capitalize;
}
.frame-type-imagebox a,
.frame-type-imagebox a:hover {
  color: inherit;
  text-decoration: none;
}
/* ## productlink ## */
.frame-type-productlink {
  height: 100%;
}
.frame-type-productlink > a,
.frame-type-productlink > div {
  height: calc(100% - var(--frame-margin-bottom));
}
.frame-type-productlink picture {
  margin-bottom: 1rem;
}
.frame-type-productlink h3 {
  font-size: 1.1rem;
  font-weight: 700;
}
.frame-type-productlink .content {
  flex-grow: 1;
}
.frame-type-productlink .more {
  margin-top: 1rem;
}
.frame-type-productlink .btn {
  border-radius: 0 0 var(--bs-btn-border-radius) var(--bs-btn-border-radius);
  text-transform: capitalize;
}
.frame-type-productlink a,
.frame-type-productlink a:hover {
  color: inherit;
  text-decoration: none;
}
/* # Form # */
.frame-type-form_formframework .form-group .frame {
  margin-bottom: 1rem;
}
/* == Splide == */
.hero-slider img {
  object-fit: cover;
  object-position: center;
  height: 220px;
  width: 100%;
}
@media (min-width: 576px) {
  .hero-slider img {
    height: 300px;
  }
}
@media (min-width: 768px) {
  .hero-slider img {
    height: 450px;
  }
}
.splide__arrow {
  background: transparent;
  height: 3em;
  width: 3em;
}
.splide__arrow svg {
  fill: #fff;
  height: 2em;
  width: 2em;
}
