@charset "utf-8";
html
{
    -webkit-text-size-adjust: 100% !important;
}

body
{
	margin: 0;
	padding: 0;
	background-color: #FFF;
}
/* Accessibility map */
.as_map_c
{
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}
.as_map
{
    height: 28px;
    margin: -250px auto 0 auto;
    display: table;
    table-layout: fixed;
    padding: 3px 25px 14px 10px;;
    background-color: #FFFFFF;
    transition: margin-top 400ms;
    -webkit-transition: margin-top 400ms;
}
.as_map.opened { margin-top: 0; }
.as_map ul { float: left; margin: 0; padding: 0; list-style: none; }
.as_map ul li { float: left; margin: 15px 10px; }
.as_map ul li > *
{
    padding: 5px 15px;
    background-color: #d7cfcc;

    font-family: var(--primary-font);
    font-size: 20px;
    color: #231F1D;
    text-decoration: none;
    line-height: 20px;
}
.as_map ul li > *:focus { background-color: #FFFFFF; outline: 1px dotted #231F1D; }

*
{
	outline: none;
    box-sizing: border-box;
}

*:focus
{
    box-sizing: border-box;
    /*outline: 2px dotted #97A800;*/
}

img:not([src*="px"])
{
    height: auto;
}

a
{
    transition: color ease 0.7s;
    -webkit-transition: color ease 0.7s;
}

a img
{
	border: 0px solid;
}

p
{
	width: 100%;
	float: left;
	margin: 0;
	padding: 0;
}
.content p
{
	float: none;
}

a.art_anchor,
.content a.art_anchor
{
	text-decoration:none;
}

body .ui-widget { font-size: 11px; }

.page_c
{
	width: 100%;	
	overflow: hidden;
	position: relative;
    padding-top: 92px; /* head's height */
	z-index: 1;
}
@media only screen and (max-width: 1020px)
{
	.page_c
	{
		min-width: 320px;
	}
	body .ui-widget { font-size: 14px; }
}
@media only screen and (max-width: 620px)
{
	body .ui-widget { font-size: 16px; }
}

.offscreen
{
	position: absolute;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0;
	border: 0;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/*****************************/
/*			HEAD			*/
/***************************/
.head_c
{
	width: 100%;
	position: fixed;
    top: 0;
    left: 0;
	z-index:4;
    float: left;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: center;
    background-color: #FFF;
}

.header_c
{
    width: 100%;
    max-width: 1900px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 20px 6px 20px;
    position: relative;
    z-index: 1;
}

/*Desktop menu*/
.h_menu_c .menu
{
	display:table;
	width: 100%;
    margin: 0;
    z-index: 50;
    position: relative;
}

.menu ul
{
    margin: 0;
    padding: 0 20px;
    float: left;
    box-sizing: border-box;
}

.menu li
{
	margin: 0;
	list-style: none;
	display: inline-block;
	z-index: 2;
    position: relative;
	text-transform: none;
}

.menu ul:last-child li
{

}

.menu li a
{
    display: inline-block;
	margin:0;
	padding: 0 20px;
	box-sizing: border-box;
    position: relative;

    font: 600 .875rem/163% var(--primary-font);
    color: #625E61;
	text-decoration:none;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.menu li a::after
{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 19px;
    background-color: #625E61;
}

.menu li:last-child a::after
{
    content: none;
}

.menu li a.auswahl_link
{
    z-index: 6;
}

.menu li a.auswahl_link .auswahl_c
{
    display: inline-block;
}

.menu li li *:focus
{
    outline: none;
    border: none;
}

.menu > ul > li:hover > a,
.menu > ul > li.opened > a,
.menu > ul > li > a:focus,
.menu > ul > li.current_link > a,
.menu > ul > li.current_path > a
{
    color: #8EB24C;
}

.menu li a .fa
{
    font-size: 1.375rem;
    margin-left: 10px;
    float: right;
    position: relative;
}

.menu li a .fa.fa-star-o
{
    margin-top: -1px;
    display: inline-block;
}

.menu li a .fa.heart
{
    margin-top: -3px;
    display: inline-block;
}

.menu li a .fa.heart::before
{
    content: "\f08a";
    font-size: 1.25rem;
    color: #FF1E1E;
    padding-bottom: 3px;
    transition: transform ease 1s;
    -webkit-transition: -webkit-transform ease 1s;
}

.menu li a .fa.heart.opened::before
{
    content: "\f004";
}

.menu li a.opened .fa.heart
{
    transform: scale(1.6);
    -webkit-transform: scale(1.6);
}


.menu .selected_items_counter
{
    position: absolute;
    right: -14px;
    top: -4px;
    z-index: 2;
    font: 600 0.75rem/160% var(--primary-font);
    color: #FFF;
    background-color: var(--primary-color);
    box-sizing: border-box;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    padding-top: 2px;
    text-align: center;
    display: none;
    justify-content: center;
    align-items: center;
}

.menu li .fa.opened .selected_items_counter
{
    display: flex;
}

.selected_list
{
    position: absolute;
    right: 0;
    top: 82px;
    z-index: 5;
}

.selected_list::before
{
    content: "";
    position: absolute;
    top: 0;
    right: 32px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 15px 12px 15px;
    border-color: transparent transparent #FFF transparent;
    transform: translateY(-100%);
    filter: drop-shadow(2px 3px 9.9px rgba(0, 0, 0, 0.40));
    opacity: 0;
    transition: opacity ease 1s;
    z-index: 4;
}

.selected_list.opened::before
{
    opacity: 1;
}

.selected_list::after
{
    content: "";
    position: absolute;
    top: 0;
    right: 20px;
    width: 60px;
    height: 40px;
    background-color: #FFF;
    opacity: 0;
    transition: opacity ease 1s;
    z-index: 5;
}

.selected_list.opened::after
{
    opacity: 1;
}

.selected_list .selected_list_c
{
    width: 360px;
    position: relative;
    z-index: 3;
    background-color: #FFF;
    text-align: left;
    font: 400 0.938rem/163% var(--primary-font);
    color: var(--primary-color);
    letter-spacing: .067em;
    max-height: 0;
    transition: max-height ease 1s, padding ease 1s;
    overflow: hidden;
    padding-left: 40px;
    padding-right: 40px;
    filter: drop-shadow(2px 3px 9.9px rgba(0, 0, 0, 0.40));
    border-radius: 10px;
}

.selected_list.opened .selected_list_c
{
    padding-top: 55px;
    padding-bottom: 29px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.selected_list h4
{
    width: 100%;
    font: 700 1.25rem/163% var(--primary-font);
    letter-spacing: .05em;
    color: var(--primary-color);
    margin: 0;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--primary-color);
}

.selected_list ul
{
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.selected_list ul li
{
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 17px 0;
    border-bottom: 1px solid var(--primary-color);
}

.selected_list .selected_list_button
{
    display: block;
    float: left;
    width: 100%;
    min-height: 0;
    margin-top: 22px;
    padding: 11px 20px 9px;
    text-align: center;
    background-color: #8EB24C;
    font: 400 .938rem/163% var(--primary-font);
    color: #FFF;
    text-decoration: none;
    text-transform: none;
    transition: background-color ease 1s;
    border-radius: 10px;
}

.selected_list .selected_list_button:hover,
.selected_list .selected_list_button:focus
{
    background-color: var(--primary-color);
}

.selected_list .image_c
{
    width: 117px;
    height: 88px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.selected_list .image_c img
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.selected_list .title
{
    font: 400 .938rem/163% var(--primary-font);
    color: #2B4F44;
    letter-spacing: .067em;
    flex-grow: 1;
}


/*Content Menu*/
.content .content_menu_c
{
    position: relative;
    z-index: 100;
    padding: 0 !important;
    height: 57px;
    display: none;
    overflow: visible;
}

.content .content_menu
{
    width: 100%;
    border-bottom: 1px solid #DEDEDE;
    background-color: #FFF;
    padding-left: 48px;
    padding-right: 48px;
    box-sizing: border-box;
    position: relative;
    z-index: 100;
}

.content .content_menu.fixed
{
    position: fixed;
    top: 0;
    left: 0;
}

.content .content_menu li
{
	margin: 0;
	list-style: none;
	display: inline-block;
	z-index: 2;
    position: relative;
	text-transform: none;
    padding: 0 !important;
}

.content .content_menu li::before
{
    content: none !important;
}


.content .content_menu li a
{
    display: inline-block;
	margin:0;
	padding: 30px 32px;
	box-sizing: border-box;
    position: relative;

    font: 400 1rem/120% var(--primary-font);
    color: #646464;
	text-decoration:none;
    text-transform: none;
    z-index: 2;
}

.content .content_menu li:first-child a
{
    padding-left: 0;
}

.content .content_menu li li *:focus
{
    outline: none;
    border: none;
}

.content .content_menu > li:hover > a,
.content .content_menu > li.opened > a,
.content .content_menu > li > a:focus,
.content .content_menu > li.current_link > a,
.content .content_menu > li.current_path > a
{
    color: #97A700;
    text-decoration: none;
}

.content .content_menu > li > a::after
{
    content: " ";
    position: absolute;
    bottom: 0;
    left:  0;
    width: 0;
    height: 2px;
    background-color: #B8CE05;
    transition: width ease 0.7s;
    -webkit-transition: width ease 0.7s;
}

.content .content_menu > li:hover > a::after,
.content .content_menu > li.opened > a::after,
.content .content_menu > li > a:focus::after,
.content .content_menu > li.current_link > a::after,
.content .content_menu > li.current_path > a::after
{
    width: 100%;
}


/*Header Image*/

.header_image_c
{
    width: 100%;
    float: left;
    z-index: 1;
    position: relative;
    overflow: hidden;
}

.header_image_c img
{
    width: 100%;
}

#no_btn
{
	position: fixed;
	width: 44px;
	height: 44px;
	right: 20px;
	bottom: 20px;
	background: #8EB24C;
	color: #fff;
	font: 600 32px 'FontAwesome';
	cursor: pointer;
	z-index: 5;
	box-sizing: border-box;
	display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    transition: background-color ease .5s;
}

#no_btn:hover
{
	background-color: var(--primary-color);
}
/*****************************/
/*			MAIN			*/
/***************************/
.main_c
{
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 3;
    float: left;
}
.main
{
	width: 100%;
	min-height: 500px;
	overflow: hidden;
	position: relative;
	z-index: 1;
    display: block;
    padding-top: 20px;
}

/*****************************/
/*			FOOTER			*/
/***************************/
.footer_c
{
	width: 100%;
	position:relative;
	z-index:2;
    float: left;
}

.footer_top
{
    width: 100%;
    float: left;
    background-color: #FFF;
    border-top: 3px solid #8EB24C;
    border-bottom: 3px solid #8EB24C;
    font: 400 0.938rem/165% var(--primary-font);
    color: var(--primary-color);
    display: flex;
    justify-content: center;
}

.footer_top_c
{
    width: 100%;
    max-width: 965px;
    box-sizing: border-box;
    padding: 120px 48px 110px;
    overflow: hidden;
}

.footer_top h3
{
    margin: 0;
    font: 800 1.125rem/160% var(--primary-font);
    color: var(--primary-color);
    text-transform: uppercase;
}

.footer_top .columns
{
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 90px;
    padding-top: 23px;
}

.footer_top .column
{
}

.footer_top .column.right
{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 4px;
}

.footer_top a
{
    color: var(--primary-color);
    text-decoration: none;
}

.footer_top a:hover,
.footer_top a:focus
{
    text-decoration: underline;
}

.footer_top a.fb_link
{
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer_top a.fb_link .fa
{
    font-size: 1.25rem;
}

.footer_top .footer_button
{
    padding: 12px 15px 8px;
    color: #FFF;
    background-color: #8EB24C;
    position: relative;
    transition: background-color ease 1s;
    border-radius: 10px;
}

.footer_top .footer_button:hover,
.footer_top .footer_button:focus
{
    background-color: var(--primary-color);
    text-decoration: none;
}

.footer_bottom
{
    width: 100%;
    display: flex;
    justify-content: center;
}

.footer_bottom_c
{
    width: 100%;
    max-width: 1065px;
    padding: 15px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    position: relative;
}

.footer_bottom .logo_links
{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 50px;
}

.footer_link_c
{
   display: flex;
   align-items: center;
}

.footer_link_c a
{
    padding-left: 12px;
    padding-right: 12px;
    font: 400 .688rem/120% var(--primary-font);
    letter-spacing: 0.05em;
    color: var(--primary-color);
    text-decoration: none;
    position: relative;
}

.footer_link_c a::after
{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background-color: var(--primary-color);
}

.footer_link_c a:last-child
{
    padding-right: 0;
}

.footer_link_c a:last-child::after
{
    content: none;
}

.footer_link_c a:hover,
.footer_link_c a:focus
{
    text-decoration: underline;
}

.footer_link_c a .algo_logo
{
    margin-left: 5px;
}

.footer_link_c a:first-child
{
    padding-left: 0;
}

@media(max-width: 1250px)
{
    .page_c
    {
        padding-top: 65px;
    }

    .head_c .logo_c img
    {
        width: 150px;
    }

    .menu ul
    {
        padding-right: 0;
    }

}

@media(max-width: 1085px)
{
    .menu li.show_just_on_desktop
    {
        display: none;
    }

    .content .content_menu_c
    {
        display: block;
    }

}

@media( max-width: 1025px)
{

    .as_map_c
    {
        display: none !important;
    }

	/*****************************/
	/*			HEAD			*/
	/***************************/

    .show_just_on_desktop
    {
        display: none;
    }

    #no_btn
    {
     width: 50px;
     height: 50px;
     right: 10px;
     bottom: 10px;
     font: 600 40px 'FontAwesome';
     padding: 4px 12px;
    }

    .content .content_menu li a
    {
        padding: 15px 30px;
    }

    .footer_top_c
    {
        max-width: 500px;
        padding: 75px 25px 75px;
        text-align: center;
    }

    .footer_top .columns
    {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 40px;
    }

    .footer_top .columns .column
    {
        width: 100%;
    }

    .footer_top .column.right
    {
        width: auto;
    }

    .footer_top a.fb_link
    {
        justify-content: center;
    }

    .footer_bottom_c
    {
        flex-wrap: wrap;
        gap: 30px;
    }

    .footer_bottom .logo_links
    {
        width: 100%;
        justify-content: center;
    }

    .footer_link_c
    {
        width: 100%;
        justify-content: center;
    }

}

@media(max-width: 850px)
{
    .content .content_menu
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media( max-width: 650px)
{
	/*****************************/
	/*			HEAD			*/
	/***************************/
    .head_c .logo_c img
    {
        width: 130px;
    }

    .menu li a.opened .fa.heart {
        transform: scale(1.1);
        -webkit-transform: scale(1.1);
    }


    /*Content menu*/
    .content .content_menu
    {
        padding-left: 0;
        padding-right: 0;
    }

    .content .content_menu.fixed
    {
        padding-left: 15px;
        padding-right: 15px;
    }

    .content .content_menu li a
    {
        font-size: 0.938rem;
        padding: 9px 14px;
    }

    .selected_list
    {
        top: 55px;
        right: 0;
        transform: none;
        -webkit-transform: none;
    }

    .selected_list .selected_dark_bcg
    {
        width: calc(100vw + 200px);
        height: 5000px;
        position: absolute;
        top: -1000px;
        right: -200px;
        background-color: #333;
        opacity: 0;
        visibility: hidden;
        transition: all ease .5s;
        z-index: 1;
    }

    .selected_list.opened .selected_dark_bcg
    {
        visibility: visible;
        opacity: 0.59;
    }

    .selected_list .selected_list_c
    {
        width: 280px;
        padding-left: 20px;
        padding-right: 20px;
        font-size: 0.875rem;
    }

    .selected_list h4
    {
        font-size: 1.125rem;
    }

    .selected_list ul li
    {
        gap: 15px;
        padding: 12px 0;
    }

    .selected_list .image_c
    {
        height: 52px;
        width: 80px;
    }


	/*****************************/
	/*			MAIN			*/
	/***************************/

	
	/*****************************/
	/*			FOOTER			*/
	/***************************/
    .footer_bottom_c
    {
        padding-left: 25px;
        padding-right: 25px;
        padding-bottom: 75px;
    }

    .footer_bottom .logo_links
    {
        flex-wrap: wrap;
        gap: 30px;
    }

}

@media(max-width: 450px)
{
    .menu li a
    {
        padding-left: 8px;
        padding-right: 8px;
    }

    .menu li a
    {
        font-size: 0.875rem;
    }

    .content .content_menu li a
    {
        padding: 9px 8px;
    }

}

/*Spinner*/
#loading
{
    z-index: 10;
}

@keyframes lds-spinner {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@-webkit-keyframes lds-spinner {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
#loading
{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    z-index: 10;
    background: rgba(0, 0, 0, 0.5);
    display: none;
}

.lds-spinner {
    position: relative;
    width: 100%;
    height: 100%;
}
.lds-spinner div {
    top: 50%;
    left: 50%;
    position: absolute;
    -webkit-animation: lds-spinner linear 1s infinite;
    animation: lds-spinner linear 1s infinite;
    background: #b8ce05;
    width: 12px;
    height: 24px;
    border-radius: 40%;
    -webkit-transform-origin: 6px 52px;
    transform-origin: 6px 52px;
}
.lds-spinner div:nth-child(1) {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-animation-delay: -0.916666666666667s;
    animation-delay: -0.916666666666667s;
}
.lds-spinner div:nth-child(2) {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    -webkit-animation-delay: -0.833333333333333s;
    animation-delay: -0.833333333333333s;
}
.lds-spinner div:nth-child(3) {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-animation-delay: -0.75s;
    animation-delay: -0.75s;
}
.lds-spinner div:nth-child(4) {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-animation-delay: -0.666666666666667s;
    animation-delay: -0.666666666666667s;
}
.lds-spinner div:nth-child(5) {
    -webkit-transform: rotate(120deg);
    transform: rotate(120deg);
    -webkit-animation-delay: -0.583333333333333s;
    animation-delay: -0.583333333333333s;
}
.lds-spinner div:nth-child(6) {
    -webkit-transform: rotate(150deg);
    transform: rotate(150deg);
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}
.lds-spinner div:nth-child(7) {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-animation-delay: -0.416666666666667s;
    animation-delay: -0.416666666666667s;
}
.lds-spinner div:nth-child(8) {
    -webkit-transform: rotate(210deg);
    transform: rotate(210deg);
    -webkit-animation-delay: -0.333333333333333s;
    animation-delay: -0.333333333333333s;
}
.lds-spinner div:nth-child(9) {
    -webkit-transform: rotate(240deg);
    transform: rotate(240deg);
    -webkit-animation-delay: -0.25s;
    animation-delay: -0.25s;
}
.lds-spinner div:nth-child(10) {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
    -webkit-animation-delay: -0.166666666666667s;
    animation-delay: -0.166666666666667s;
}
.lds-spinner div:nth-child(11) {
    -webkit-transform: rotate(300deg);
    transform: rotate(300deg);
    -webkit-animation-delay: -0.083333333333333s;
    animation-delay: -0.083333333333333s;
}
.lds-spinner div:nth-child(12) {
    -webkit-transform: rotate(330deg);
    transform: rotate(330deg);
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}
.lds-spinner {
    width: 200px !important;
    height: 200px !important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
}
