/*
Theme Name: FGR Basic Theme Menu
Theme URI: http://fgr.design/
Description: Das FGR Basic-Theme wurde eigens für FGR Kunden entwickelt. Es bedarf keinerlei zusätzliche Lizenz, jedoch darf die Gestaltung die durch die FGR vorgegeben wurde nicht verändert werden - es erlischt umgehend das Nutzungsrecht. Inhaltliche Änderungen dürfen selbstverständlich getätigt werden. Im Zweifelsfall steht die <a href="http://fgrepublik.com/">Freie Gestalterische Republik</a> jederzeit bereit, um Fragen zu beantworten.
Author: der Freien Gestalterischen Republik
Author URI: http://fgr.design/
Version: 1.3.4
License: Keine Nutzung ohne vorherige Absprache erlaubt.
License URI: license.txt
Tags: FGR, basic, Widgetfähig, Menü, Responsive
*/

/* #####################################################

1. Header 
2. Main Menu
3. Logo
4. Mobile
5. Footer Nav

################## 1. Header ##################*/

header {
    position: fixed;
    z-index: 111;
    left: 0;
    right: 0;
    transition: 0.35s background-color;
}

header.scrolled {
    background-color: var(--lightColor);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

header .row {
    padding-top: 25px;
    padding-bottom: 25px;
    margin: 0;
}

@media screen and (max-width:1499px) {
    header .row {
        margin: 0;
    }
}

@media screen and (max-width:1199px) {
    header .row {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

header .row>div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

header .row>div {
    position: static;
}

.nav-wrap {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: calc(100vw - 0px);
    top: 0px;
    left: 0px;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    padding-top: 175px;
    height: calc(var(--unit-100vh) - 0px);
    min-height: calc(var(--unit-100vh) - 0px);
    transition: 0.85s opacity;
    z-index: -1;
    flex-wrap: wrap;
    overflow: scroll;
    padding-bottom: 0px !important;
    background: var(--secondaryColor)url(../_img/care-logo.svg) no-repeat;
    background-position: -80px calc(100vh - 195px);
    background-size: calc(100vw + 160px) auto;
}

.nav-wrap * {
    pointer-events: none;
}

@media screen and (max-width:1499px) and (min-width:1200px) {
    .nav-wrap .container {
        max-width: 100%;
    }
}

@media screen and (max-width:991px) {
    .nav-wrap {
        padding-top: 100px;
        background-position: -80px calc(100vh - 75px);
    }
}

@media screen and (max-width:767px) {
    .nav-wrap .container {
        max-width: 100%;
    }
}

header .row>div {
    min-height: 60px;
}

.nav-wrap.opened,
.nav-wrap.opened * {
    opacity: 1;
    pointer-events: all;
}

.mobile-additionals {
    margin-top: 50px;
    padding: 0 20px;
    flex: 0 0 100%;
}

.mobile-additionals p {
    font-size: var(--btnFS);
    font-weight: 500;
    color: var(--lightColor);
}

.mobile-additionals>div {
    margin-top: 5px;
}

.mobile-additionals li {
    display: block;
    margin-right: 5px;
    break-inside: avoid-column;
    list-style-type: none;
}

.mobile-additionals li img,
.mobile-additionals li svg {
    height: 22.5px;
    width: 22.5px;
    object-fit: contain;
}

.mobile-additionals li svg path {
    fill: var(--lightColor);
}

/*################## 2. Main Menu ##################*/
header .menu-hauptnavigation-container {
    flex: 0 0 100%;
}

header .menu-hauptnavigation-container .menu {
    display: flex;
    flex-wrap: wrap;
}

header .menu-hauptnavigation-container .menu li {
    display: inline-flex;
}

header .menu-hauptnavigation-container .menu li:hover > a {
   color:rgba(255,255,255,0.5);
}

header .menu-hauptnavigation-container .menu li a:hover:after{
    opacity: 1;
}

header .menu-hauptnavigation-container .menu>li {
    align-items: center;
    position: relative;
    flex: 0 0 100%;
}

@media screen and (min-width:768px) {

    header .menu-hauptnavigation-container .menu>li>a:after {
        content: "";
        display: inline-block;
        margin: 0 auto;
        background: url(../_img/underline.svg) no-repeat left center;
        background-size: contain;
        width: 100%;
        height: 12.5px;
        pointer-events: none;
        position: absolute;
        bottom: -22.5px;
        left: 0;
    }
}

@media screen and (max-width:1199px) {
    header .menu-hauptnavigation-container .menu>li>a:after {
        height: 10px;
    }
}

@media screen and (min-width:768px) {
    header .menu-hauptnavigation-container .menu>li {
        flex: 0 0 50%;
    }
}


@media screen and (min-width:992px) {
    header .menu-hauptnavigation-container .menu>li {
        flex: 0 0 25%;
    }
}

header .menu-hauptnavigation-container .menu a {
    font: normal 700 var(--quinaryHead) 'Poppins', sans-serif;
    color: var(--lightColor);
    position: relative;
    letter-spacing: 0.66px;
    margin-bottom: 20px;
    display: inline-block;
}

@media screen and (max-width:767px) {
    header .menu-hauptnavigation-container .menu a {
        margin-bottom: 0px;
    }
}


header .menu-hauptnavigation-container .menu li {
    display: block;
    margin: 12.5px 7.5px;
    padding: 0px;
    height: auto;
    position: relative;
    margin: 12.5px 0;
}

header .menu-hauptnavigation-container .menu>li>a {
    color: var(--lightColor);
}

header .menu-hauptnavigation-container .menu li ul {
    display: none;
    padding: 5px 0;
    transition: none;
}

@media screen and (min-width:768px) {
    header .menu-hauptnavigation-container .menu li ul {
        display: block !important;
    }
}

header .menu-hauptnavigation-container .menu li ul li a {
    display: inline-block;
}

header .menu-hauptnavigation-container .menu li ul li {
    margin: 8.5px 0;
    position: relative;
}

header .menu-hauptnavigation-container .menu li.btn {
    display: none;
}

header .menu-hauptnavigation-container .menu li:first-of-type {
    display: block;
}

header .menu-hauptnavigation-container .menu {
    padding: 15px 20px 0 20px;
}

.toggle {
    width: 20px;
    height: 20px;
    display: inline-flex;
    margin-left: 12.5px;
    transform: translateY(-3px);
}

.toggle svg path {
    fill: var(--secondaryColor);
}

.toggle.active svg path:last-of-type {
    opacity: 0;
}

@media screen and (min-width:768px) {
    .toggle {
        display: none !important;
    }
}

.toggle svg {
    padding: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--lightColor);
    box-sizing: content-box;
}

header .menu-hauptnavigation-container .menu li ul {
    padding-top: 0;
    margin-top: 30px;
}

header .menu-hauptnavigation-container .menu li ul li:last-of-type {
    margin-bottom: 0;
}

header .menu-hauptnavigation-container .menu li ul li a {
    font-size: var(--btnFS);
    font-weight: 500;
    margin: 0;
}

@media screen and (max-width:991px) {
    header .menu-hauptnavigation-container .menu li ul {
        margin-top: 0px;
    }
}


@media screen and (max-width:767px) {

    header .menu-hauptnavigation-container .menu li,
    header .menu-hauptnavigation-container .menu li:first-of-type {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    header .menu-hauptnavigation-container .menu li ul {

        flex: 0 0 100%
    }
}

/*################## 3. Logo ##################*/

.logo {
    width: 220px;
    height: auto !important;
    line-height: 0;
    transition: 0.35s all;
}

header.scrolled .logo {
    width: 175px;
    margin: 0px;
}

.logo-wrap {
    position: relative;
    transition: 0.35s al;
}

body:not(.menu-opened) .logo-wrap:after {
    content: "";
    width: 400px;
    height: 400px;
    position: absolute;
    top: -200px;
    left: -75px;
    background-color: var(--lightColor);
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    transition: 0.35s all;
}

header.scrolled .logo-wrap:after {
    top: -310px;
}

.menu-opened .logo path,
.menu-opened .logo rect {
    fill: var(--lightColor) !important;
}

@media screen and (max-width:1199px) {

    .logo,
    header.scrolled .logo {
        width: 125px;
    }

    body:not(.menu-opened) .logo-wrap:after {
        width: 300px;
        height: 300px;
        top: -175px;
        left: -100px;
    }
    header.scrolled .logo-wrap:after {
        top: -230px;
    }
}

@media screen and (max-width: 767px) {
    body:not(.menu-opened) .logo-wrap::after {
      top: -200px;
    }
    header.scrolled .logo-wrap:after {
        top: -255px;
    }
  }
/*################## 4. Mobile ##################*/

body .nav-mobile-wrap {
    display: flex !important;
    align-items: center;
    flex-direction: row-reverse;
    position: relative;
    z-index: 3;
}

#navbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width:1199px) {
    #navbtn {
        width: 45px;
        height: 45px;
    }
}

body .nav-mobile-wrap {
    flex-direction: row-reverse;
    margin-left: auto;
}

.menu-opened #navbtn svg:first-of-type,
#navbtn svg:last-of-type {
    opacity: 0;
}

.menu-opened #navbtn svg:last-of-type {
    opacity: 1;
}

#navbtn svg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: contain;
    transition: 0.35s all;
}

header.scrolled #navbtn svg path {
    fill: var(--tertiaryColor);
}

.menu-opened #navbtn svg path {
    fill: var(--lightColor) !important;
}


/*################## 5. Footer Nav ##################*/

/*Meta Nav*/
.menu-metanavigation-container li {
    list-style-type: none;
    display: block;
    margin: 7.5px 0px 0px 0px;
}

.menu-metanavigation-container li a {
    color: var(--lightColor);
    text-transform: none;
    font: normal 500 var(--smallFS) 'Poppins', sans-serif;
}

.menu-metanavigation-container li a:hover {
    opacity: 0.5;
}

/*
@media screen and (max-width:991px) and (min-width:768px) {
    .menu-metanavigation-container li {
        margin: 7.5px 7.5px 0px  0px;
        display: inline-block;
    }
}*/

@media screen and (max-width:767px) {
    .menu-metanavigation-container li {
        margin: 0px 0px 5px 0px;
    }
}

/*Search*/

.trigger-search {
    color: var(--lightColor);
    font: normal 700 var(--smallFS) 'Poppins', sans-serif !important;
    letter-spacing: 0.66px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
}

.trigger-search span {
    width: 60px;
    height: 60px;
    position: relative;
}

.trigger-search svg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: contain;
}

header.scrolled .trigger-search svg path {
    fill: var(--secondaryColor);
}

.menu-opened .trigger-search svg path {
    fill: var(--lightColor) !important;
}

#trigger-search.active span svg:first-of-type,
.trigger-search span svg:last-of-type {
    opacity: 0;
}

#trigger-search.active span svg:last-of-type {
    opacity: 1;
}

.trigger-search {
    margin-left: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    margin-right: -7.5px;
}

@media screen and (max-width:1199px) {

    .trigger-search span,
    .trigger-search {
        width: 45px;
        height: 45px;
    }
}

#search-wrap {
    position: fixed;
    width: 100vw;
    padding-top: 15px;
    padding-bottom: 15px;
    color: var(--lightColor);
    right: 0;
    opacity: 0;
    pointer-events: none;
    top: 0px;
    background-color: var(--tertiaryColor);
    transition: 0.5s all;
    z-index: 2;
}

header.scrolled #search-wrap {
    top: 120px;
    padding-top: 5px;
    padding-bottom: 5px;
}

#search-wrap.opened {
    opacity: 1;
    pointer-events: all;
}

#search-wrap input[type="submit"] {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--primaryColor)url(../_img/arrow-right.svg) no-repeat center center;
    background-size: 22px 22px;
    margin-left: -25px;
    transition: 0.35s all;
    padding: 0;
}

#search-wrap form {
    display: flex;
    align-items: center;
}


#search-wrap label {
    margin-right: 30px;
    color: var(--lightColor);
    transform: translateY(2.5px);
}


@media screen and (max-width:1199px) {
    #search-wrap input[type="submit"] {
        width: 45px;
        height: 45px;
        background-size: 16.5px 16.5px;
    }

    header.scrolled #search-wrap {
        top: 90px;
    }

    #search-wrap .container {
        max-width: 100%;
        padding: 0;
    }

    #search-wrap {
        padding-top: 0;
        padding-bottom: 0;
    }

    #search-wrap label {
        margin-right: 15px;
    }
}

@media screen and (max-width:767px) {
    #search-wrap label {
        display: none;
    }
}

@media screen and (max-width:576px) {
    #search-wrap form {
        width: 100%;
        max-width: 260px;
    }

    #search-wrap input[type="text"] {
        flex: 0 0 200px;
        max-width: initial !important;
    }

    #search-wrap input[type="submit"] {
        flex: 0 0 45px;
    }
}