/*
******************************************************************
CSS for flix.BASE theme

(c) sinntun.codes
******************************************************************
*/


/*****************************************************************
**** Allgemein
******************************************************************/

body {
    color: #1F1F1F;
    font-family: 'TheSans';
    font-weight: 400;
    color: #00377A;
}

h1 {
    font-size: 34px;
}

h2 {
    font-size: 22px;
    margin-bottom: 20px;
}

h1, h2 {
    font-family: 'TheSans';
    font-weight: 700;
}

strong {
}

em {
    font-style: italic;
}

#head-logo {
    display: block;
}

.page-headline {
    padding-top: 20px;
    max-width: 1500px;
    margin: auto;
}

.page-headline .text {
    font-size: 32px;
    color: #009CDA;
    font-family: 'TheSans';
    font-weight: 700;
    max-width: 1000px;
}

.page-subheadline .text {
    font-size: 18px;
    color: #00377A;
    font-family: 'TheSans';
    font-weight: 700;
    margin-bottom: 10px;
    max-width: 1000px;
}

.page-text .text {
    font-size: 18px;
    color: #00377A;
    font-family: 'TheSans';
    max-width: 1000px;
}


@media only screen and (max-width: 1200px){
    h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 24px
    }
}

@media only screen and (max-width: 800px){
    .page-headline {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 520px){
    h1 {
        font-size: 26px;
    }

    h2 {
        font-size: 22px
    }
}


/*** link-button
******************************************************************/

.link-button {
    background-color: #21536a;
    color: #fff;
}

.link-button:hover {
    color: #fff !important;
}


/*** 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: 10px;
    padding-bottom: 10px;
    overflow: visible;
    /*height: 180px;*/
    display: flex;
    justify-content: space-between;
}

/*** Header Logo
******************************************************************/

#logo {
    width: 413px;
    height: auto;
    padding: 0;
}

#logo .mobile {
    display: none;
    align-items: center;
}

#logo .mobile .text {
    font-weight: 300;
    font-size: 50px;
    color: #fff;
}

#logo img {
    width: 413px;
}

#logo-mobile {
    display:none;
    width: 42px;
    height: auto;
}

.logo-link .text {
    padding-left: 15px;
}

@media only screen and (max-width: 1700px){
    #logo {
        width: 260px;
        overflow: hidden;
    }

    #logo .mobile {
        display: flex;
    }

    #logo .desktop {
        display: none;
    }

    #logo img {
        width: 140px;
    }

}

@media only screen and (max-width: 1450px) {
    #logo {
        width: 180px;
    }

    #logo img {
        width: 75px;
    }

    #logo .mobile .text {
        font-size: 40px;
    }

    #main-navigation {
        padding-top: 35px;
    }
}

@media only screen and (max-width: 1200px){

    #logo {
        width: 258px;
    }

    #logo img {
        width: 115px;
    }

    .menu-trigger {
        top: 53px;
    }

    .nav1-mobile-div.menu-2 {
        top: 160px;
    }
}

@media only screen and (max-width: 1070px) {
    .logo-link .text {
        width: 17vw;
    }
}
@media only screen and (max-width: 1024px){
    .logo-link .text {
        width: unset;
    }

    #head-container .logo-link .top,
    #head-container .logo-link .bottom {
        font-size: 18px;
        display: block;
    }
}

@media only screen and (max-width: 650px){
    #logo {
        width: 190px;
    }

    #logo img {
        width: 80px;
    }

    #head-container .logo-link {
        margin-left: 20px;
        margin-top: 15px;
        height: fit-content;
    }

    .menu-trigger {
        top: 38px;
    }

    .nav1-mobile-div.menu-2 {
        top: 120px;
    }
}

@media only screen and (max-width: 480px){
    #logo img {
        width: 40px;
    }

    #logo .mobile .text {
        font-size: 32px;
    }

    .menu-trigger {
        top: 21px;
    }

    .nav1-mobile-div.menu-2 {
        top: 85px;
    }
}

@media only screen and (max-width: 380px){
    #head-container .logo-link .top,
    #head-container .logo-link .bottom {
        font-size: 16px;
    }
}

/*** Header Title
******************************************************************/

#head-title {
    font-size: 24px;
    line-height: 24px;
    font-weight: bold;
    position: relative;
    top: 50px;
    color: #fbb700;
}


/*** Footer
******************************************************************/


/*****************************************************************
**** Navigation
******************************************************************/

/*** nav1
******************************************************************/

.nav1-link {
    padding: 0px 10px;
    display: inline-block;
    border-bottom: 0;
}




/*** nav2
******************************************************************/


.nav2-link.active,
.nav2-item.navHover > .nav2-link {
    background-color: #FF6347;
    color: #fff;
}


/*** nav2
******************************************************************/
/*
.nav3-link.active,
.nav3-link:hover,
.nav3-item.navHover > .nav3-link {
    color: #ff8c00;
}
*/


/*** nav-meta
******************************************************************/

#meta-navigation .nav-meta-link {
    padding: 10px;
    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: #fff;
}

.nav1-mobile-div {
    background-color: #00377a;
}

.nav1-mobile-link span {
    color: #00377A;
}

.nav1-mobile-link.opened span {
    color: #fff;
}

.nav2-mobile-link span {
    color: #00377A;
    font-size: 18px;
}

.nav1-mobile-link {
    width: 100%;
    display: inline-block;
}

.nav1-mobile-item.has-subnav .nav1-mobile-link {
    width: calc(100% - 40px);
}

.nav1-mobile li {
    color: #009CDA;
}

.nav1-mobile-link.active,
.nav1-mobile-link:hover {
    /*background-color: #009CDA;*/
}

.nav1-mobile-link.active span {
    color: #fff;
}

.nav1-mobile-link.active.opened span {
    color: #fff;
}

.nav1-mobile-link.active span {
    font-weight: bold;
}

.nav1-mobile-item {
    padding: 12px 40px;
    box-sizing: border-box;
    position: relative;
    background: #fff;
    font-size: 18px;
}

.nav2-mobile-item {
    padding: 12px 40px;
    box-sizing: border-box;
    position: relative;
    background: #E5F5FB;
}

.nav2-mobile {
    overflow: hidden;
}

.nav2-mobile-link {
    display: inline-block;
    width: calc(100% - 30px);
}

.nav2-mobile-link.active span {
    /*color: #ff8b00;*/
}

.nav3-mobile {
    display: none;
    overflow: hidden;
}

.nav3-mobile-item {
    padding: 10px 40px;
    box-sizing: border-box;
    position: relative;
    background: #fff;
}

.nav3-mobile-link {
}

.nav3-mobile-link.active span {
    color: #ff8b00;
}

.nav3-mobile-link span {
    font-size: 18px;
}

.nav3-mobile-link span:before {
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    content: "\f054";
    margin-right: 8px;
}

.subnav-nav-trigger.active {
    color: #ff8b00;
}

/*****************************************************************
**** Slider
******************************************************************/

#slider {
    max-width: 1920px;
    margin: auto;
    max-height: 400px;
}

#slider .slick-dots {
    display: none;
}

.slider-caption span {
    font-size: 70px;
    line-height: 70px;
    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: 20px;
}

.pageelement-text-info ol {
    list-style: decimal;
    padding-left: 20px;
}

.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: 3px solid rgba(204, 63, 53, .64);
}


/*****************************************************************
**** Module Search
******************************************************************/

.search-container .search-input {
    background-color: #efefef;
}

.search-main .searchresult-group .header,
.search-main .searchresult-item .date {
    color: #00528c;
}

.search-main .searchresult-group .header {
    border-bottom: 1px solid #00528c;
}


/*** 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 .contactform-content {
    display: flex;
    gap: 145px;
}

.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: 10px;
}

.pageelement-contactform .contactform-contact .image {
    width: 383px;
    height: auto;
}

.pageelement-contactform .contactform-contact .text .company {
    margin-bottom: 24px;
}

.pageelement-contactform .contactform-contact .text .company h1 {
    font-size: 24px;
    color: #ff8c00;
    margin-bottom: 24px;
}

.pageelement-contactform .text {
    font-size: 20px;
}

.pageelement-contactform .text .phone,
.pageelement-contactform .text .email {
    display: flex;
    align-content: center;
}

.pageElement-contactform .button-submit {
    background-color: #ff8b00;
    color: #fff;
}

@media only screen and (max-width: 800px){
    .pageelement-contactform .radiobuttons-wrapper.cols {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
}

@media only screen and (max-width: 520px){

}

@media only screen and (max-width: 420px){
    .pageelement-contactform .radiobuttons-wrapper .radiobutton-wrapper {
        width: 100%;
    }
}