:root {
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;

    --bs-primary: #008382;
    --bs-primary-rgb: 0, 131, 130;

    --bs-secondary: #CADEDF;
    --bs-secondary-rgb: 202, 222, 223;

    --bs-light: #EAF1F3;
    --bs-light-rgb: 234, 241, 243;

    --bs-primary-bg-subtle: #CCF0F0;
    --bs-primary-bg-subtle-rgb: 204, 240, 240;

    --bs-body-color: #008382;
    --bs-body-color-rgb: 0, 131, 130;

    --bs-link-color: #008382;
    --bs-link-color-rgb: 0, 131, 130;

    --bs-link-hover-color: #008382;
    --bs-link-hover-color-rgb: 0, 131, 130;

    --bs-bg-opacity: 1;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #008382;
    --bs-btn-border-color: #008382;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #00a4a2;
    --bs-btn-hover-border-color: #00a4a2;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #008382;
    --bs-btn-active-border-color: #008382;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #008382;
    --bs-btn-disabled-border-color: #008382;
}
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1240px;
    }
}
.nav {
    --bs-nav-link-color: var(--bs-body-color);
    --bs-nav-link-hover-color: var(--bs-dark);
}
.pagination {
    --bs-pagination-active-bg: var(--bs-body-color);
    --bs-pagination-active-border-color: var(--bs-body-color);
    --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);
}
/* pt-sans-caption-regular - latin */
@font-face {
  font-family: 'PT Sans Caption';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/pt-sans-caption-v10-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('PT Sans Caption'), local('PTSans-Caption'),
       url('../Fonts/pt-sans-caption-v10-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../Fonts/pt-sans-caption-v10-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../Fonts/pt-sans-caption-v10-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../Fonts/pt-sans-caption-v10-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../Fonts/pt-sans-caption-v10-latin-regular.svg#PTSansCaption') format('svg'); /* Legacy iOS */
}

body {
    font-family: PT Sans Caption, Helvetica, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.3125rem;
    background: url('../Images/einfal_hamburg_hintergrund.jpg');
    color: var(--bs-body-color);
}
.page {
  margin: 0 auto;
  max-width: 1240px;
  background: #FFF;
}
a {
    color: var(--bs-body-color);
    text-decoration: none;
    font-weight:bold;
}
.top-content {
  margin-bottom: 30px;
}

.sidebar-content {padding-top:45px;}
h1{
    font-family: PT Sans Caption, Helvetica, Arial, sans-serif;
    font-size: 2.125rem;
    font-weight: 700;
    margin-top: 0px;
    line-height: 46px;
}
h2{
    font-family: PT Sans Caption, Helvetica, Arial, sans-serif;
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 46px;
}
h3{
    font-family: PT Sans Caption, Helvetica, Arial, sans-serif;
    font-size: 1.4375rem;
    font-weight: 700;
}
h4{
    font-family: PT Sans Caption, Helvetica, Arial, sans-serif;
    font-size: 1.125rem;
}
hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 4px dotted #008382;
  clear:both;
  display:block;
}

.border-bottom {
    border-bottom: 4px dotted #008382 !important;
}
  .header-top-wrp {
    margin: 0 -15px;
    width: auto;
}
.inverse h1, .inverse h2, .inverse h3, .inverse h4, .inverse h5, .inverse p {
    color: #008382;
}
.inverse p {margin-top:30px}
.inverse {
  background-color: #cadedf;
  color: #008382 !important;
  margin-bottom:30px;
  margin-top: 45px;
}

.frame-layout-200 .ce-gallery {
    margin-bottom: 0px;
}
.frame-layout-100 h1, .frame-layout-100 h1, .frame-layout-200 h2, .frame-layout-100 h2 {
    margin-top: 0;
    border-bottom: 4px dotted #FFF;
    text-align: center;
    font-size:28px;
    margin-bottom:1rem;
}

.frame-layout-100 h1, .frame-layout-100 h2 {
    border-bottom: 4px dotted #008382;
}
.frame-layout-200 h3, .frame-layout-100 h3 {
    text-align: left;
}
.frame-layout-200 hr {
    border-top: 4px dotted #FFF;
}
.frame-layout-100 hr {
    border-top: 4px dotted #008382;
}
.frame-layout-200, .frame-layout-100 {
  background-color: #008382;  
  color: #FFF !important;
  padding: 15px;
  margin-bottom: 15px;
}
.frame-layout-200 a { 
  color: #FFF !important;
}
.frame-layout-100   {
  background-color: #cadedf;
  color: #008382 !important;
  }
.frame-layout-200:has(.ce-textpic.ce-center.ce-above img), .frame-layout-100:has(.ce-textpic.ce-center.ce-above img) {margin-top: 25%;}
.frame-layout-200 .ce-textpic.ce-center.ce-above img, .frame-layout-100 .ce-textpic.ce-center.ce-above img {border-radius: 50% !important; margin-top: -60%;}
.frame-layout-200 .ce-textpic,  .frame-layout-200 .ce-nowrap .ce-bodytext, .frame-layout-200 .ce-gallery, .frame-layout-200 .ce-row, .frame-layout-200 .ce-uploads li, .frame-layout-200 .ce-uploads div {
    overflow: visible;
}
.frame-layout-100 .ce-textpic,  .frame-layout-100 .ce-nowrap .ce-bodytext, .frame-layout-100 .ce-gallery, .frame-layout-100 .ce-row, .frame-layout-100 .ce-uploads li, .frame-layout-100 .ce-uploads div {
    overflow: visible;
}

.main-navigation__item-link, .main-navigation__item-link-sub, .header-top__contact {
    font-family: PT Sans Caption, Helvetica, Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    text-transform: none;
    padding: 0 30px;
} 


.carousel-indicators {
    bottom: 0px;
}
.carousel-control {background:transparent !important;}
.carousel-caption .btn {
    padding: 10px 25px 15px 25px;
    background: #008382;
    color: #FFF;
    font-size: 23px;
    line-height: 26px;
    font-weight: 700;
    border: 2px solid #FFF;
    border-radius: 10px;
    float: right;
    float: right;
bottom: 10px;
position: absolute;
right: 10px;
}


/* Hover nur ab Desktop */
@media (min-width: 992px) {

    .navbar .dropdown:hover > .dropdown-menu {
        display: block;
    }

    .dropdown-submenu {
        position: relative;
    }

    .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-left: .1rem;
        display: none;
    }

    .dropdown-submenu:hover > .dropdown-menu {
        display: block;
    }

}

@media (min-width: 1400px) {
    .nav-link {
    padding:1rem 2rem !important;
    }
}
    .nav-link {
    font-size: 1.125rem;
    }
.dropdown-menu {
border-top: 3px solid var(--bs-primary) !important;
}
.dropdown-menu {
    --bs-dropdown-link-active-bg: #008382;
    }
/* ====== Pfeile sauber Y-mittig (Flex statt absolute) ====== */
.navbar .dropdown-toggle,
.dropdown-item.dropdown-toggle{
  display: flex;
  align-items: center;   /* Y-Achse mittig */
  gap: .5rem;
}

/* Standard Bootstrap-Caret NICHT mehr absolut platzieren */
.navbar .dropdown-toggle::after,
.dropdown-item.dropdown-toggle::after{
  position: static;
  transform: none;
  margin-left: auto;     /* Pfeil nach ganz rechts */
}

/* ====== Submenu: Pfeil nach rechts statt nach unten ====== */
/* betrifft nur Toggle-Links innerhalb eines Submenus */
.dropdown-submenu > .dropdown-item.dropdown-toggle::after{
  /* Bootstrap default (down-caret) neutralisieren */
  border-top: 0;
  border-right: 0;
  border-bottom: 0;

  /* Right-caret bauen */
  border-left: .35em solid currentColor;
  border-top: .35em solid transparent;
  border-bottom: .35em solid transparent;

  width: 0;
  height: 0;
}

.frame-default {
margin-bottom: 1.5rem;
}



@media (min-width: 768px) {


    .top-content img {
        height: 190px;
        width: auto !important;
        max-width: inherit !important;
    }
}

@media (min-width: 992px) {

    
    .top-content img {
        height: 250px;
        width: auto !important;
        max-width: inherit !important;
    }

    .main-navigation__items-list {
        float: right;
    }
}

@media (min-width: 1200px) {


    .top-content  img {
        height: 310px;
        width: auto !important;
        max-width: inherit !important;
    }

    .img-slider__caption-link {
        font-size: 14px;
    }
}

@media (max-width: 991px) {
    .header-top-wrp {
        display:none !important;
    }
}

@media (max-width: 767px) {
     .top-content .col-md-3 {display:none;}
    .top-content .col-md-6,.top-content .col-md-6 img {
        width: 100%;
    }

    .img-slider__caption-header {
        font-size: 24px;
        line-height: 32px;
    }

    .carousel-caption {
        top: 0;
        left: 33%;
        width: auto;
        text-align: left;
    }

    .carousel-caption .btn {
        padding: 3px 10px;
        font-size: 16px
    }

    .carousel-inner > .item > img {
        width: 30%;
    }
}

@media (min-width: 768px) {
    .img-slider__caption-header {
        font-size:28px;
        line-height: 36px;
    }

    .carousel-caption {
        top: 0;
        left: 330px;
        width: 50%;
        text-align: left;
    }
}

@media (min-width: 992px) {
    .img-slider__caption-header {
        font-size:28px;
        line-height: 36px;
    }

    .carousel-caption {
        top: 0;
        left: 330px;
        width: 50%;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .img-slider__caption-header {
        font-size:12px;
        line-height: 18px;
    }

    .carousel-caption .btn {
        display: none;
    }

    .carousel-inner > .item > img {
        width: 30%;
    }
}

@media (max-width: 991px) {
    .col-md-6 {
        width:50%;
        float: left;
    }
}

@media (max-width: 480px) {
    .col-md-6 {
        width:auto;
        float: none;
    }

    .img-text-link__img.img-responsive {
        margin: 0px auto;
        max-width: 50% !important;
    }
}
.frame-type-felogin_login label, .frame-type-felogin_login input {
    display: block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: bold;
}



.sub-navigation {
    background: #ffffff;
}

.sub-navigation__item-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sub-navigation__link {
    display: block;
    padding: 6px 30px;
    color: #333333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: rgba(120,120,120,0.3);
    font-size: 14px;
    letter-spacing: 0.2px;
    transition: all 0.1s linear;
    border: 1px solid #008382;
    margin-bottom: -1px;
}

.no-touch .sub-navigation__link:hover {
    color: #008382;
    background: #cadedd;
}

.sub-navigation__link._active {
    background-color: #cadedd;
    border-color: #ffffff;
    z-index: 2;
    position: relative;
}

.no-touch .sub-navigation__link._active:hover {
    background-color: #cadedd;
}

.sub-navigation__link._sub-level-3 {
    padding: 6px 15px;
    padding-left: 25px;
    font-size: 13px;
    border: 1px dotted #008382;
    margin: 4px 10px;
}

.sub-navigation__link._sub-level-4 {
    padding: 6px 17px;
    padding-left: 25px;
    font-size: 13px;
    border: 1px dotted #008382;
    margin: 4px 10px;
    margin-left: 18px;
}

.sub-navigation__link._sub-level-5 {
    padding: 6px 19px;
    padding-left: 25px;
    font-size: 13px;
    border: 1px dotted #008382;
    margin: 4px 10px;
    margin-left: 26px;
}

.sub-navigation__link._curent {
    border-left: 3px solid #008382;
    color: #008382;
    background: #cadedd;
}





@media (max-width: 767px) {
    .ce-left.ce-nowrap .ce-gallery {
        float: none;
        margin: 40px 0 0 0;
    }
    .frame-layout-300 .ce-bodytext {
    padding: 2rem;
    }
    .frame-layout-300 p {
    margin-top: 0px;
}
}


.frame-layout-300 {
background-color: #cadedf;
    color: #008382 !important;
}

.frame-layout-300 p {
    margin-top: 30px;
}

.frame-layout-300 .frame-default, .frame-layout-300 .ce-intext.ce-right .ce-gallery, .frame-layout-300 .ce-intext.ce-left .ce-gallery, .frame-layout-300 .ce-above .ce-gallery  {
    margin-bottom: 0;
}


/* TYPO3 FSC: Videos einfach und robust responsiv machen */
figure.video iframe,
.ce-textmedia iframe,
.ce-textpic iframe {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 9;
  display: block;
  border: 0;
}

.tab-content {
padding-top: 1.5rem;
}

.nav-tabs .nav-link {
    padding: 1rem !important;
}

.text-muted {
    background-color: #F5FFAA;
    padding: 0.5rem;
    border: 1px solid #333333;
    color: var(--bs-primary) !important;
    display: inline-block;
}

#c5209 {
    min-height: 310px;
}

hr {
    margin-top: 10px;
    margin-bottom: 10px;
}

.frame-layout-100 .news h3, .frame-layout-200 .news h3 {
    font-size: 1.25rem;
}
.frame-layout-100 .news p, .frame-layout-200 .news p {
    margin-bottom:0;
}

.klaro.cm-as-context-notice {
  border: 2px solid rgba(0, 0, 0, 0.1);
  }
.klaro.we_cookie_consent .cookie-notice h1, .klaro.we_cookie_consent .cookie-notice h2, .klaro.we_cookie_consent .cookie-notice li, .klaro.we_cookie_consent .cookie-notice p, .klaro.we_cookie_consent .cookie-notice a, .klaro.we_cookie_consent .cookie-notice strong, .klaro.we_cookie_consent .cookie-notice ul, .klaro.we_cookie_consent .cookie-modal h1, .klaro.we_cookie_consent .cookie-modal h2, .klaro.we_cookie_consent .cookie-modal li, .klaro.we_cookie_consent .cookie-modal p, .klaro.we_cookie_consent .cookie-modal a, .klaro.we_cookie_consent .cookie-modal strong, .klaro.we_cookie_consent .cookie-modal ul,
.klaro.cm-as-context-notice .context-notice p,
#klaro .klaro.we_cookie_consent .cookie-modal .cm-btn.cm-btn-accept {
  color: #008382 !important;
}
.klaro.we_cookie_consent .cookie-modal .cm-service > div > .cm-list-label .slider::before {
  background-color: #CADEDF;
  }
  .klaro.we_cookie_consent .cookie-modal .cm-service > div > .cm-list-input:checked + .cm-list-label .slider::before {
  background-color: #008382;
  }
#klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn, #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn-sm,
#klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-link,
.frame .klaro.we_cookie_consent .context-notice .cm-buttons .cm-btn.cm-btn-success, .frame .klaro.we_cookie_consent .context-notice .cm-buttons .cm-btn.cm-btn-success-var,
.klaro.cm-as-context-notice .context-notice .cm-buttons .cm-btn.cm-btn-success,
#klaro .klaro.we_cookie_consent .cookie-modal .cm-btn {
  border: 2px solid #008382;
  border-radius: 0;
  color:#008382;
}

.consent-cookie .consent-trigger img {
  content: url("/typo3conf/ext/sitepackage/Resources/Public/Images/icon_cookie_settings.svg");
}

/* ============================= */
/* PRINT STYLES                  */
/* ============================= */

@media print {


    html, body {
        background: #fff !important;
        height: auto !important;
        overflow: visible !important;
    }


    body * {
        visibility: hidden !important;
    }


    #content,
    #content * {
        visibility: visible !important;
    }


    #content {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }



    footer,
    nav,
    aside,
    .sidebar,
    .ads,
    .noprint {
        display: none !important;
    }


    a[href]:after {
        content: "" !important;
    }


    .carousel,
    .carousel * {
        animation: none !important;
        transition: none !important;
    }
}

