/*
******************************************************************
CSS for flix.BASE theme

(c) sinntun.codes
******************************************************************
*/


/*****************************************************************
**** Allgemein
******************************************************************/

body {
    color: #1F1F1F;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

h1 {
    font-size: 2.125rem;
}

h2 {
    font-size: 1.625rem;
    margin-bottom: 1.25rem;
}

h1, h2 {
    font-family: 'Open Sans Bold';
    font-weight: 900;
}

h3 {
    font-family: 'Open Sans', sans-serif;
}

strong {
    font-family: 'Open Sans Bold';
}

em {
    font-style: italic;
}

#head-logo {
    display: block;
}

.page-headline {
    font-family: 'Open Sans Bold';
    margin-bottom: 2.5rem;
    padding-top: 1.25rem;
}

.page-headline.blue {
    color: #245496;
}

.page-headline.light-blue {
    color: #449CDB;
}

.page-headline.orange {
    color: #FF8B00;
}

.page-headline.violet {
    color: #9B0687;
}

.page-headline.green {
    color: #B3CE36;
}

.page-headline.yellow {
    color: #E8C425;
}

.page-headline.emerald {
    color: #1D738A;
}

.page-headline.teal {
    color: #49AFB1;
}

@media only screen and (max-width: 75rem) {
    h1 {
        font-size: 1.875rem;
    }

    h2 {
        font-size: 1.5rem
    }
}

@media only screen and (max-width: 50rem) {
    .page-headline {
        margin-bottom: 1.25rem;
    }
}

@media only screen and (max-width: 32.5rem) {
    h1 {
        font-size: 1.625rem;
    }

    h2 {
        font-size: 1.375rem
    }
}


/*** link-button
******************************************************************/

.link-button {
    background-color: #21536a;
    color: #fff;
}

.link-button:hover {
    color: #fff;
}


/*** back-to-top
******************************************************************/

.back-to-top {
    background-color: #ff8b00;
    color: #fff;
}

.back-to-top .fa-arrow-up {
    color: #fff;
}

/*****************************************************************
**** Canvases
******************************************************************/


/*** Header
******************************************************************/

#head-container {
    padding-top: 0;
    overflow: visible;
    /*height: 11.25rem;*/
    display: flex;
    justify-content: space-between;
}

/*** Header Logo
******************************************************************/

#logo {
    width: 12rem;
    height: auto;
    padding: 0;
}

#logo img {
    transform: translate(-0.75rem, 0.3125rem);
    width: 13.5rem;
}

#logo-mobile {
    display: none;
    width: 2.625rem;
    height: auto;
}

.logo-link .text {
    border-left: 0.125rem solid #ff8c00;
    padding-left: 0.9375rem;
}

@media only screen and (max-width: 100rem) {
    #logo {
        width: 2.6875rem;
        overflow: hidden;
    }
}

@media only screen and (max-width: 70rem) {
    .logo-link .text {
        width: 22vw;
    }


    #head-container .logo-link .top, #head-container .logo-link .bottom {
        font-size: 1rem;
        display: inline;
    }
}

@media only screen and (max-width: 66.875rem) {
    .logo-link .text {
        width: 17vw;
    }
}

@media only screen and (max-width: 64rem) {
    .logo-link .text {
        width: unset;
    }

    #head-container .logo-link .top, #head-container .logo-link .bottom {
        font-size: 1.125rem;
        display: block;
    }
}

@media only screen and (max-width: 30rem) {
    #logo-mobile {
        display: none !important;
    }

    .logo-link .text {
        border-left: none;
        padding-left: 0rem;
    }
}

@media only screen and (max-width: 23.75rem) {
    #head-container .logo-link .top,
    #head-container .logo-link .bottom {
        font-size: 1rem;
    }
}

/*** Header Title
******************************************************************/

#head-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: bold;
    position: relative;
    top: 3.125rem;
    color: #fbb700;
}


/*** Footer
******************************************************************/


/*****************************************************************
**** Navigation
******************************************************************/

/*** nav1
******************************************************************/

.nav1 {
    margin: auto -1.5625rem;
}

.nav1-link {
    padding: 1.5625rem;
    display: inline-block;
    background: #FFFFFF;
    border-bottom: 0;
}


/*** nav2
******************************************************************/


.nav2-link.active,
.nav2-item.navHover > .nav2-link {
    background-color: #ff8b00;
}


/*** nav2
******************************************************************/

.nav3-item:has(.nav3-link.active),
.nav3-item:has(.nav3-link:hover),
.nav3-item:has(.nav3-item.navHover > .nav3-link) {
    background: #ff8b00;
}


/*** nav-meta
******************************************************************/

#meta-navigation .nav-meta-link {
    padding: 0.625rem;
    color: #808080;
}

#meta-navigation .nav-meta-link:hover, #meta-navigation .nav-meta-link.active {
    background-color: #ff8b00;
}

.nav-meta-link.active span, .nav-meta-link:hover span {
    color: #fff;
}


/*** nav-mobile
******************************************************************/

.mobile-div {
    background-color: #FFF;

}

.menu-line {
    background-color: #000;
}

.nav1-mobile-div {
    background-color: #777;
}

.nav1-mobile-link span {
    color: #000;
}

.nav2-mobile-link span {
    color: #000;
    font-size: 1.125rem;
}

.nav1-mobile-link {
    width: 100%;
    display: inline-block;
}

.mobile-menu .nav1-mobile-link:focus-visible {
    outline: none;
}

.mobile-menu .nav1-mobile-link:focus-visible span {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.nav1-mobile-link.subnav {
    width: calc(100% - 2.8125rem);
}

.nav1-mobile li {
    color: #fff;
}

.nav1-mobile-link.active,
.nav1-mobile-link:hover {
    /*background-color: #ff8b00;*/
}

.nav1-mobile-link.active span,
.nav1-mobile-item:not(.active):not(.opened) .nav1-mobile-link:hover span {
    color: #494949;
}

.nav1-mobile-link.active span {
    font-weight: bold;
}

.nav1-mobile-item {
    padding: 0.75rem 2.5rem;
    box-sizing: border-box;
    position: relative;
    background: none;
    font-size: 1.125rem;
    border-radius: 0.625rem;
}

.nav1-mobile-item .background {
    height: 3rem;
    width: 100%;
    position: absolute;
    z-index: -1;
    left: 0rem;
    top: 0rem;
    border-radius: 0.625rem;
    background: #fff;
}

.nav2-mobile-item {
    padding: 0.75rem 2.5rem;
    box-sizing: border-box;
    position: relative;
    background: #fff;
    border-radius: 0.625rem;
}

.nav2-mobile {
    overflow: hidden;
}

.nav2-mobile-link {
    display: inline-block;
    width: calc(100% - 1.875rem);
}

.nav2-mobile-link.active span,
.nav2-mobile-link:hover span {
    color: #494949;
}

.nav3-mobile {
    display: none;
    overflow: hidden;
}

.nav3-mobile-item {
    padding: 0.625rem 2.5rem;
    box-sizing: border-box;
    position: relative;
    background: #EEEEEE;
}

.nav3-mobile-item:last-child {
    border-bottom-left-radius: 0.625rem;
    border-bottom-right-radius: 0.625rem;
}

.nav3-mobile-link {
    color: #000;
}

.nav3-mobile-link.active span {
    color: #ff8b00;
}

.nav3-mobile-link span {
    color: #000;
    font-size: 1.125rem;
}

.nav3-mobile-link span:before {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    content: '\f054';
    color: #000;
    margin-right: 0.5rem;
}

.subnav-nav-trigger.active {
    color: #ff8b00;
}


/*****************************************************************
**** Slider
******************************************************************/

#slider {
    max-width: 120rem;
    margin: auto;
    max-height: 25rem;
}

#slider .slick-dots {
    display: none;
}

.slider-caption span {
    font-size: 4.375rem;
    line-height: 4.375rem;
    color: #fff;
}


/*****************************************************************
**** Elements
******************************************************************/


/*** text
******************************************************************/

.text ul {
    list-style: disc;
}

.text ol {
    list-style: decimal;
}

.text li {
    float: none;
}


/*** texteditor-info
******************************************************************/

.pageelement-text-info a:hover {
    color: #808080;
}

.pageelement-text-info ul {
    list-style: disc;
    padding-left: 1.25rem;
}

.pageelement-text-info ol {
    list-style: decimal;
    padding-left: 1.25rem;
}

.pageelement-text-info li {
    float: none;
}


/*** contact-info
******************************************************************/
.info-mail:hover {
    color: #808080;
}

/*** info-teaser-main
******************************************************************/

.pageelement-info-teaser-main .info-headline {
    color: #fff;
}

.pageelement-info-teaser-main .info {
    background-color: #ff8b00;
    color: #fff;
}

.pageelement-info-teaser-main .line {
    background-color: #292929;
}

/*****************************************************************
**** Module Gallery
******************************************************************/


/*** gallery-list-main
******************************************************************/

.gallery-list-main .text-container {
    background-color: #ff8b00;
}

.gallery-list-main .title {
    color: #fff;
}


/*****************************************************************
**** Module News
******************************************************************/

/*** news-list
******************************************************************/

.news-list .item {
    border-bottom: 0.1875rem solid rgba(204, 63, 53, .64);
}

.news-list .text-container .detail-link {
    color: #ff8b00;
}


/*****************************************************************
**** Module Search
******************************************************************/

.search-container .search-input {
    background-color: #efefef;
}

.search-main .searchresult-group .header {
    border-bottom: 0.0625rem solid #ff8b00;
}


/*** mobile search box
******************************************************************/

#mobile-search-box {
    background-color: #fff;
}

#mobile-search-box .search-input {
    background-color: #efefef;
}

.search-main .searchresult-group .header:before {
    color: #292929;
}

#mobile-search-box button {
    background-color: #ddd;
}


/*****************************************************************
**** Module pageElement-contactform
******************************************************************/

.pageElement-contactform.contentbox {
    overflow: unset;
}

.pageelement-contactform .contactform-content {
    display: flex;
    gap: 9.0625rem;
}

.pageelement-contactform .contactform-content .contact-form {
    width: 50%;
}

.pageelement-contactform .contactform-content .radiobuttons-wrapper.cols {
    width: 100%;
    display: inline-block;
}

.pageelement-contactform .contactform-contact .text img {
    display: inline-block;
    width: 1.3888888889rem;
    height: 1.4444444444rem;
    margin-right: 0.625rem;
}

.pageelement-contactform .contactform-contact .image {
    width: 23.9375rem;
    height: auto;
}

.pageelement-contactform .contactform-contact .text .company {
    margin-bottom: 1.5rem;
}

.pageelement-contactform .contactform-contact .text .company h1 {
    font-size: 1.5rem;
    color: #ff8c00;
    margin-bottom: 1.5rem;
}

.pageelement-contactform .text {
    font-size: 1.25rem;
}

.pageelement-contactform .text .phone,
.pageelement-contactform .text .email {
    display: flex;
    align-content: center;
}

.pageElement-contactform .button-submit {
    background-color: #ff8b00;
    color: #000;
    border: #ff8b00 solid 0.188rem;
    transition: all .25s ease-in-out;
}

.pageElement-contactform .button-submit:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageElement-contactform .button-submit:hover {
    background-color: #fff;
}

.pageElement-contactform .button-submit:hover {
    cursor: pointer;
}

@media only screen and (max-width: 50rem) {
    .pageelement-contactform .radiobuttons-wrapper.cols {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
}

@media only screen and (max-width: 32.5rem) {
    .nav1-mobile-item .background {
        height: 2.625rem;
    }
}

@media only screen and (max-width: 26.25rem) {
    .pageelement-contactform .radiobuttons-wrapper .radiobutton-wrapper {
        width: 100%;
    }
}