@font-face {
    font-family: "Ubuntu";
    src: url("/media/templates/site/cassiopeia/fonts/ubuntu-v20-latin-regular.woff2");
    font-weight: normal;
}

* {
    --fsva-header-nav-color: #045ba7;
    --fsva-white: #fff;
    --fsva-accent-blue: #045ba7;
    --fsva-accent-beige: #fef8e3;
}

html, p, h3, h4, h5, h6 {
    font-family: "Ubuntu", sans-serif;
}

a {
    color: var(--fsva-accent-blue) !important;
}

a:hover, a:focus {
    text-decoration: none;
    border-bottom: 1px solid var(--fsva-accent-blue);
    color: var(--fsva-accent-blue) !important;
}

#slider111 li {
    height: auto !important;
}

#djslider111 {
    height: 41vw !important;
}

.readmore {
    text-transform: uppercase;
}

#offcanvas-toggler:hover, #offcanvas-toggler:focus, .close-offcanvas:hover, .close-offcanvas:focus, .logo a:hover, .logo a:focus,
.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li a:hover, .offcanvas-menu.border-menu .offcanvas-inner ul.menu > li a:focus {
    border-bottom: none;
}

.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li {
    border-bottom: none;
}

.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li a {
    opacity: 1;
}

.offcanvas-menu .menu li > a {
    color: var(--fsva-accent-blue) !important;
}

.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li.active {
    background-color: var(--fsva-accent-blue);
}

.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li.active a {
    color: var(--fsva-white) !important;
}

.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li:hover, .offcanvas-menu.border-menu .offcanvas-inner ul.menu > li a:focus {
    outline: 2px solid var(--fsva-accent-blue);
    outline-offset: -2px;
}

.offcanvas-menu .offcanvas-inner {
    padding-left: 0;
    padding-right: 0;
}

.burger-icon {
    padding: 4px;
    background: var(--fsva-accent-blue);
    color: white;
    width: 40px;
}

.burger-icon:hover, .burger-icon:focus {
    background: var(--fsva-white);
    outline: 2px solid var(--fsva-accent-blue);
}

.burger-icon span {
    color: var(--fsva-white);
    background-color: var(--fsva-white);
    margin: 5px 3px;
}

.burger-icon:hover span, .burger-icon:focus span {
    background-color: var(--fsva-accent-blue);
}

.offcanvas-active .burger-icon > span, #modal-menu-toggler.active .burger-icon > span {
    background-color: var(--fsva-white);
}

.article-header {
    margin-bottom: 1rem;
}

.offcanvas-active .burger-icon:hover > span, #modal-menu-toggler.active .burger-icon:focus > span {
    background-color: var(--fsva-accent-blue);
}

.article-details .article-header h1 {
    font-size: clamp(2.375rem, -0.875rem + 8.333333vw, 3.5rem);
}

.sp-page-title .sp-page-title-heading, .sp-page-title .sp-page-title-sub-heading {
    margin: 0;
    padding: 0;
    color: var(--fsva-accent-blue);
    font-size: clamp(2.375rem, -0.875rem + 8.333333vw, 3.5rem);
}

.sp-page-title {
    background: #fff;
}

h1 {
    font-family: "Ubuntu", sans-serif;
    font-size: clamp(1.375rem, -0.875rem + 8.333333vw, 3.5rem);
    font-weight: normal;
    letter-spacing: -1px;
    color: var(--fsva-accent-blue);
}

h2 {
    font-family: "Ubuntu", sans-serif;
    color: var(--fsva-accent-blue);
    font-weight: normal !important;
    letter-spacing: -1px;
    font-size: clamp(1.375rem, 0.71875rem + 3.208333vw, 2.25rem) !important;
    margin-bottom: 10% !important;
}

#sp-header li.sp-menu-item:hover, #sp-header li.sp-menu-item:focus, #sp-header li.sp-menu-item.active {
    background: var(--fsva-header-nav-color);
    color: var(--fsva-white) !important;
}

#sp-header {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
    box-shadow: unset;
    height: 100px;
}

#sp-header li.sp-menu-item a {
    text-transform: uppercase;
    color: var(--fsva-header-nav-color);
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    line-height: 20px;
    padding: 20px 24px 0;
    letter-spacing: 2px;
    height: 4rem;
}

#sp-header li.sp-menu-item:hover a, #sp-header li.sp-menu-item:focus a, #sp-header li.sp-menu-item.active a {
    color: var(--fsva-white) !important;
}

.logo-image {
    height: auto !important;
}

.sp-megamenu-parent > li:last-child > a {
    padding: 0 15px
}


.sp-megamenu-parent > li:before, .sp-megamenu-parent > li:last-child:after {
    background: var(--fsva-header-nav-color);
    content: "";
    height: 20px;
    position: absolute;
    top: 30%;
    width: 1px;
}

#sp-menu > .sp-column {
    height: 60%;
}

#sp-footer {
    background: var(--fsva-white);
    color: #000000;
    text-shadow: none;
}

#footermenu {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
}

#footermenu li {
    padding: 0 15px 0 15px;
}

#footermenu li a {
    color: var(--fsva-header-nav-color);
    display: inline;
    text-decoration: none;
    line-height: 24px;
    font-family: "Ubuntu", sans-serif;
    font-size: 18px;
}

#sp-footer::after {
    content: "";
    background: var(--fsva-header-nav-color);
    width: 100%;
    height: 40px;
    display: block;
    position: relative;
    top: -40px;
}

#sp-footer2 {
    position: relative;
    margin-top: 3rem;
    z-index: 999;
}

#sp-footer2 .menu li a {
    background: var(--fsva-accent-beige);
    border: 3px solid #ccc;
    color: var(--fsva-header-nav-color);
    text-shadow: none;
    display: inline-block;
    width: 44px;
    height: 44px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    text-align: center;
    border-radius: 50%;
}

#sp-footer2 .pe-2 {
    z-index: 99999;
    position: relative;
    font-size: 30px;
    top: 4px;
    left: 4px;
}

#sp-footer2 .pe-2:hover, #sp-footer2 a:focus .pe-2 {
    color: var(--fsva-white);
}

#sp-footer2 .menu li a:hover, #sp-footer2 .menu li a:focus {
    background: var(--fsva-header-nav-color) !important;
    color: var(--fsva-white);
}

.sp-module.fsva-slider-home {
    margin-top: -8% !important;
}

.sp-module.fsva-headline-home {
    float: right;
    margin-right: 1rem;
    margin-top: unset;
}

.fsva-headline-home h1 {
    font-family: "Ubuntu", sans-serif;
    font-weight: normal;
    letter-spacing: -1px;
    color: var(--fsva-accent-blue);
}

#sp-right .sp-module, #sp-left .sp-module {
    margin-top: unset;
    border: none;
    padding: 0 2rem;
}

#sp-component .sp-module {
    border-left: 1px solid var(--fsva-accent-blue);
    border-right: 1px solid var(--fsva-accent-blue);
    padding: 0 2rem;
}

#sp-left .sp-module .sp-module-title, #sp-right .sp-module .sp-module-title {
    border-bottom: none;
    padding-bottom: 0;
}

.mod-articles-items.mod-articles-grid article .article-intro-image img {
    border-radius: 1000px;
    max-height: 225px;
    min-width: 100%;
    object-fit: cover;
}

#sp-bottom {
    background: var(--fsva-white);
}

#sp-bottom .sp-module h2.sp-module-title {
    color: var(--fsva-accent-blue);
}

#sp-bottom .readmore {
    display: flex;
}

#sp-bottom .readmore a {
    margin: 2rem auto 0 auto;
}

.termine #sp-right {
    display: none;
}

.logo a:hover {
    border-bottom: none;
}

.page-fotogalerien .article-intro-image a:after {
    content: '\f14d';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    opacity: 0;
    filter: alpha(opacity=0);
    left: 0;
    width: 100%;
    height: 0;
    text-align: center;
    top: 60px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    z-index: 3;
}

.page-fotogalerien .article-intro-image a:hover:after {
    font-size: 60px;
    opacity: 1;
    filter: alpha(opacity=100);
    color: #045BA7;
}

.article-intro-image.float-left {
    max-height: 225px;
}

.page-datenschutz h2,
.page-impressum h2 {
    margin: 2rem 0 !important;
}

.page-impressum h3,
.page-datenschutz h3 {
    margin-top: 2rem;
}

.page-impressum h4, .page-datenschutz h4 {
    margin-top: 1rem;
}

#sp-component .sp-module ul {
    padding-left: 0;
}

.next-button, .prev-button, .play-button, .pause-button {
    background: #000;
    border-radius: 50%;
}

.page-fotogalerien .article-header h2 a {
    color: var(--fsva-accent-blue) !important;
    font-size: 1.75rem;
}

#sp-main-body {
    padding: 2rem 0 5rem;
    margin-bottom: -3rem;
    min-height: 77vh;
}

.page-fotogalerien .readmore a {
    text-transform: uppercase;
    color: var(--fsva-accent-blue) !important;
    font-weight: bold;
}

.fotogalerien .readmore a::after {
    content: "+";
    font-size: 32px;
    color: #045ba7;
    text-align: center;
    line-height: 32px;
    position: relative;
    left: -25px;
    border: 3px solid #ccc;
    background: var(--fsva-accent-beige);
    border-radius: 50%;
    display: block;
    width: 50px;
    height: 50px;
    padding: 3px;
}

.fotogalerien .readmore a:hover:after {
    background: var(--fsva-accent-blue);
    color: var(--fsva-white);
}

.fotogalerien .readmore a {
    width: 0 !important;
    font-size: 0;
}

.fotogalerien .readmore a:hover {
    border-bottom: none;
}


.dj-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px 0;
}
.dj-thumbs .dj-thumb {
    flex: 0 0 auto;
    cursor: pointer;
}
.dj-thumbs .dj-thumb img {
    max-width: 100px;
    max-height: 56px;
    border: 2px solid transparent;
    border-radius: 4px;
    transition: border-color 0.3s;
}
.dj-thumbs .dj-thumb:hover img {
    border-color: #0073e6;
}

.dj-thumbs .dj-thumb:hover, .dj-thumbs .dj-thumb:focus {
    border-bottom: none;
}


.djslider-default img.dj-image {
    height: 100% !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.djslider-default .navigation-container {
    top: 50% !important;
}

#sp-header .logo {
    height: unset
}

.page-verein #sp-component .sp-module {
    border: none;
}

.page-verein #sp-component img.float-none {
    height: 200px;
    width: 100%;
    object-fit: cover;
}

#mod-custom127 {
    margin-bottom: 5rem;
}

#sp-component .mod-articles-items.mod-list {
    list-style: none;
}

.page-hobby #sp-component .sp-module,
.page-verein #sp-component .sp-module {
    border: none;
    padding: 0;
}

.page-hobby h2 a,
.page-verein h2 a {
    font-size: 1.75rem;
    color: var(--fsva-accent-blue) !important;
}

.article-intro-image.float-left.fsva-article-logo img {
    object-fit: contain;
}

.fotogalerien > .sp-module-title {
    margin-bottom: 2rem !important;
}

.page-hobby .mod-articles-item-content,
.page-verein .mod-articles-item-content {
    display: flex;
    flex-direction: column;
}

.page-hobby .mod-articles-title,
.page-verein .mod-articles-title {
    order: 0;
    margin: 1rem 0 !important;
}

.page-hobby .article-intro-image.float-mod-articles-image,
.page-verein .article-intro-image.float-mod-articles-image {
    order: -1;
}

.page-hobby .article-intro-image img,
.page-verein .article-intro-image img {
    height: 225px;
    width: 100%;
    object-fit: cover;
}

.blogpage-hobby, .blogpage-verein {
    display: flex;
    flex-direction: row;
}

.page-hobby .blogpage-hobby li {
    margin-bottom: 1rem;
}

.page-hobby .article-list,
.page-verein .article-list {
    flex: 1 1 0;
}

.page-hobby .article-list.articles-leading,
.page-verein .article-list.articles-leading {
    margin-right: 1rem;
}

.page-hobby .article-list .article,
.page-verein .article-list .article {
    border: none;
}

.page-hobby .readmore > a {
    color: var(--fsva-accent-blue) !important;
    text-transform: uppercase;
}

.page-home .dj-thumbs {
    display: none;
}

.article ul li {
    margin-bottom: 1rem;
}

.cpnb-button:hover, .cpnb-button:focus, .cpnb-button:visited, .cpnb-button {
    color: #fff !important;
    border-bottom: none !important;
}

#djslider111 img.dj-image {
    height: auto !important;
    width: 100% !important;
}

@media screen and (width > 1199px) {
    #offcanvas-toggler {
        display: none !important;
    }
}

@media screen and (width < 1200px) {
    #sp-menu .sp-megamenu-wrapper {
        display: none !important;
    }


    .page-hobby #sp-component,
    .page-verein #sp-component {
        flex: 0 0 auto;
        width: 100%;
    }

}


@media screen and (width < 992px) {
    .sp-module {
        border-left: none !important;
        border-right: none !important;
        margin-top: 2rem !important;
    }

    .sp-module-title {
        margin-bottom: 1rem !important;
    }
}

@media screen and (width < 768px) {
    .blogpage-hobby, .blogpage-verein {
        flex-direction: column;
    }
}

@media (width <= 360px) {
    #footermenu {
        margin: 0;
        padding: 0;
    }

    #footermenu li {
        padding: 0 6px 0 6px;
    }
    #sp-footer::after {
        top: 0
    }
}