/*++++++++++ General styles ++++++++++*/
@font-face {
    font-family: 'ArchitectsDaughter';
    src: url('/css/webfonts/ArchitectsDaughter-Regular.ttf');
}
a:not(:empty) {
    display: inline-block;
}
ul {
    padding-left: 1rem;
}
ul li::marker {
    color: #C09B4F;
}
.algo-highlighted-container-block:not(.hell) ul li::marker {
    color: #FFF;
}
li ul {
  padding-left: 0.75rem;
  padding-bottom: 10px;
}
a.art_anchor {
    position: relative;
}
.as_map_c {
    top: -1px;
}
.rscale {
    width: 2px; /* Phone */
}
.algo-header {
    padding-top: 56px; /* Phone */
}
.algo-main,
.algo-footer {
    font-family: Raleway, Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
}
.algo-main {
    color: #676560;
    line-height: 1.7;
    background: #FFF url(/img/logos/letter_content.svg) top left no-repeat;
    background-size: 100%; /* Phone */
    padding: 2rem 0; /* Phone */
}
.algo-footer {
    color: #FFF;
}
.algo-link {
    text-decoration: underline;
    color: #C09B4F;
}
.algo-link:hover {
    text-decoration: none;
    color: #AC832F;
}
.algo-navigation-menu-right-block-navbar-icon,
.algo-footer-info-in-1-columns-block-madeby-algo {
    fill: #FFF;
}
.headline-3,
.algo-textfield-block-text,
.algo-separated-boxes-block-headline,
.algo-text-with-image-right-block-col-1,
.algo-text-with-image-left-block-col-3 {
    margin-left: auto;
    margin-right: auto;
}
/*---------- General styles ----------*/


/*+++++++++++++ Headlines ++++++++++++*/
.headline-1,
.headline-4 {
    font-family: Raleway, Arial, sans-serif;
    text-transform: uppercase;
} 
.headline-2,
.headline-3 {
    font-family: ArchitectsDaughter, Arial, sans-serif;
    color: #C3A362;
}
.headline-1,
.headline-3 {
    margin-bottom: 1rem;
}
.headline-2,
.headline-4 {
    margin-bottom: 1.5rem;
}
.headline-1 {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 1px;
    color: #B09866;
}
.headline-2 {
    line-height: 1.34em;
    font-size: 2rem; /* Phone */
}
.headline-3 {
    line-height: 1.2em;
    max-width: 1000px;
    font-size: 2rem;  /* Phone */
}
.headline-4 {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 3px;
}
.headline-5,
.headline-6 {
    font-size: 0.875rem;
    line-height: 1.632em;
}
.headline-4,
.algo-room-block-headline {
    color: #C5A563;
}
/*.algo-highlighted-container-block:not(.hell) .headline-4,*/
.algo-highlighted-container-block:not(.hell) .algo-headline {
    color: #FFF;
}
.algo-headline > span {
    display: block;
}
.algo-header-image-block-headline {
    color: #FFF;
    margin: 0;
}
.algo-separated-boxes-block-headline-4 {
    margin-top: 0.4rem; /* Phone */
    margin-bottom: 0.7rem; /* Phone */
}
.algo-separated-boxes-block-headline-5,
.algo-separated-boxes-block-headline-6 {
    height: auto; /* Phone */
    overflow: hidden;
}
.algo-room-block-headline-4 {
    margin-bottom: 0.5rem;
}
/*------------- Headlines ------------*/


/*++++++++++++ Navigation ++++++++++++*/
.algo-navigation-menu-right-block {
    position: fixed;
    z-index: 3; 
    top: 0;
    background-color: #C09B4F;
    -webkit-box-shadow: 0 13px 20px 0 rgba(0,0,0,0.25);
    box-shadow: 0 13px 20px 0 rgba(0,0,0,0.25);
}
.algo-navigation-menu-right-block-navbar.navbar {
    padding-left: 0;
    padding-right: 0;
}
.algo-navigation-menu-right-block-navbar-logo-link {
    text-decoration: none !important;
}
.algo-navigation-menu-right-block-navbar-logo-link::before { /* Phone */
    content: "Hubertushof";
    font: 1.35rem ArchitectsDaughter, Arial, sans-serif;
    letter-spacing: 0.01em;
    color: #FFF;
    text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.5);
}
.algo-navigation-menu-right-block-navbar-logo-image { 
    display: none; /* Phone */
}
.nav-item::marker {
    content: none;
}
.nav-link span,
.algo-navigation-menu-right-block-navbar-icons {
    white-space: nowrap;
}
.nav-link.active,
.dropdown-menu .dropdown-item.active,
.active-nav-item .nav-link {
    text-decoration: underline !important;
}
.nav-link.active,
.nav-link.active:hover,
.nav-item .nav-link:not(.active):focus,
.nav-item .nav-link:not(.active):active, 
.nav-item .nav-link:not(.active):hover,
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active,
.dropdown-menu .dropdown-item:hover,
.nav-item.dropdown.active .nav-link {
    color: #2D2D2D;
}
.algo-navigation-menu-right-block-navbar-icon-link {
    cursor: pointer;
}
.algo-navigation-menu-right-block-navbar-icon-link:hover .algo-navigation-menu-right-block-navbar-icon,
.algo-navigation-menu-right-block-navbar-icon-link:focus .algo-navigation-menu-right-block-navbar-icon,
.algo-navigation-menu-right-block-navbar-icon-link:active  .algo-navigation-menu-right-block-navbar-icon,
.algo-navigation-menu-right-block-navbar-icon-link[aria-expanded=true] .algo-navigation-menu-right-block-navbar-icon {
    fill: #2D2D2D;
}
.nav-link {
    font-size: 1.5rem;
}
.nav-link,
.dropdown-menu .dropdown-item {
    font-family: Raleway, Arial, sans-serif;
    font-weight: 600;
    color: #C3A362; /* Phone */
}
.navbar-nav .nav-item:first-child span {
    border-left: 0;
}
.dropdown-menu.show,
.google-translate-container {
    -webkit-border-radius: 0 0 4px 4px;
    border-radius: 0 0 4px 4px;
}
.dropdown-menu.show {
    border: 0;
    margin: 0;
    padding: 0;
}
.nav-item,
.dropdown-menu .dropdown-item {
    text-align: center; /* Phone */
}
.dropdown-menu .dropdown-item {
    /*padding-top: 0.5rem;
    padding-bottom: 0.5rem;*/
    font-size: 0.9rem;
}
.dropdown-menu .dropdown-item:hover {
    background-color: inherit;
}
.dropdown-menu .dropdown-item.active {
    background-color: transparent;
}
.algo-navigation-menu-right-block-navbar-button.navbar-toggler {
    border: 1px solid #FFF;
}
.algo-navigation-menu-right-block-navbar-button.collapsed .navbar-toggler-icon {
    background-image: url(/img/icons/menu_btn.svg);
}
.algo-navigation-menu-right-block-navbar-button:not(.collapsed) .navbar-toggler-icon {
    background-image: url(/img/icons/menu_close.svg);
}
.algo-navigation-menu-right-block-navbar-collapse.collapsing .navbar-nav, 
.algo-navigation-menu-right-block-navbar-collapse.collapse.show .navbar-nav { /* Phone */
    background-color: #fff;
    margin-top: 8px;
    padding: 50px 0;
}
/*------------ Navigation ------------*/


/*+++++++++ Google Translate +++++++++*/
.google-translate-container {
    position: absolute !important;
    background-color: #C09B4F;
    top: 56px; /* Phone */
    right: 155px; /* Phone */
    -webkit-box-shadow: 0 18px 17px 0 rgba(0,0,0,0.15);
    box-shadow: 0 18px 17px 0 rgba(0,0,0,0.15);
}
.google-translate-element {
    padding: 10px; /* Phone */
}
/*--------- Google Translate ---------*/


/*+++++++++++ Header image +++++++++++*/
.algo-header-image-block-slogan-row {
    bottom: 0;
    left: 0;
    height: 100%;
    z-index: 2;
}
.algo-header-image-block-slogan-container::before,
.algo-header-image-block-slogan-container::after {
    background: transparent url(/img/backgrounds/slogan_motiv.png) bottom center no-repeat;
    content:"";
    display: block;
    height: 30px;
}
.algo-header-image-block-slogan-container::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    margin-bottom: 8px;
}
.algo-header-image-block-headline {
    text-align: center;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.3);
}
.algo-header-image-block-image-container.gradient-bg::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(159, 159, 159, 0) 0%, rgba(64, 64, 64, 0.62) 100%);
}
/*----------- Header image -----------*/


/*+++++++ Highlighted container ++++++*/
.algo-highlighted-container-block:not(.hell) {
    /*background-color: #C5A563;*/
    background: linear-gradient(rgba(204, 168, 96, 0.95), rgba(204, 168, 96, 0.95)), url(/img/backgrounds/tile.png);
}
.algo-highlighted-container-block:not(.hell),
.algo-highlighted-container-block:not(.hell) .algo-link {
    color: #FFF;
}
.algo-highlighted-container-block:not(.hell),
.algo-footer-info-in-1-column-block:not(.hell) {
    background-position: center;
    background-repeat: repeat;
}
.algo-highlighted-container-block:not(.hell) .algo-textfield-block-text {
    font-weight: 400;
}
.algo-highlighted-container-block.hell {
    background-color: #FBF7EF;
}
.algo-highlighted-container-block.hell .algo-text-with-image-left-block,
.algo-highlighted-container-block.hell .algo-text-with-image-right-block {
    max-width: none;
}
/*------- Highlighted container ------*/


/*+++++++++++++ Textfield ++++++++++++*/
.algo-textfield-block-text {
    max-width: 1000px;
}
/*------------- Textfield ------------*/


/*+++++++++++++++ Room +++++++++++++++*/
.algo-room-block-text {
    margin: 1.5rem 0 2rem 0;
}
/*--------------- Room ---------------*/


/*++++++++++ Text with image +++++++++*/
.algo-text-with-image-right-block-col-1.col-12,
.algo-text-with-image-left-block-col-3.col-12 {
    max-width: 510px;
}
.algo-text-with-image-right-block-col-2,
.algo-text-with-image-left-block-col-3 {
    padding: 30px 0;
}
.algo-text-with-image-left-block-col-1,
.algo-text-with-image-right-block-col-3 {
    display: flex;
    align-items: center;
}
.algo-text-with-image-right-block-text ul,
.algo-text-with-image-left-block-text ul {
    margin-bottom: 0;
}
.algo-text-with-image-left-block-col-1 {
    padding-top: 15px; /* Phone */
}
.algo-text-with-image-right-block-col-3 {
    padding-bottom: 15px; /* Phone */
}
/*---------- Text with image ---------*/


/*+++++++++ Separated boxes ++++++++++*/
.algo-separated-boxes-block-col-2,
.algo-separated-boxes-block-col-3 {
    padding-top: 3rem; /* Phone */
}
/*--------- Separated boxes ----------*/


/*+++++++++++ Slick slider +++++++++++*/
/*.slick-arrow {
    background-color: transparent !important;
    overflow: hidden;
}
.slick-arrow::after {
    top: 45% !important;
    font-size: 64px !important;
    color: #3A3A3A !important;
}*/
/*----------- Slick slider -----------*/


/*+++++++++++++++ Table ++++++++++++++*/
.table.algo-table {
    border: 1px solid #DCD5C8;
    color: #676560;
}
.table .algo-table-head-row-cell,
.table .algo-table-body-row-cell-head[scope="row"] {
    background-color: rgba(197, 165, 99, 0.2);
    font-weight: 600;
    text-align: left;
}
.table .algo-table-head-row-cell,
.table .algo-table-body-row-cell {
    border-color: #DCD5C8;
    border-style: solid;
    border-width: 0 0 0 1px;
}
.table .algo-table-head-row-cell {
    text-transform: uppercase;
}
.table .algo-table-head-row .algo-table-head-row-cell:nth-child(1) {
    border-left: 0;
}
.table .algo-table-head-row .algo-table-head-row-cell:nth-child(2) {
    text-align: center;
}
.table .algo-table-head-row-cell,
.table .algo-table-body-row-cell,
.table .algo-table-body-row-cell-head {
    font-size: 0.875rem;
    padding: 1rem;
}
.table .algo-table-head-row .algo-table-head-row-cell:nth-child(1),
.table .algo-table-body-row-cell-head[scope="row"] {
    width: 35%;
    min-width: 165px;
}
.table .algo-table-body-row-cell,
.table .algo-table-body-row-cell-head {
    border-top: 1px solid #DCD5C8;
}
.table .algo-table-body-row-cell {
    font-weight: 400;
    text-align: center;
}
/*--------------- Table --------------*/


/*++++++++++++++ Button ++++++++++++++*/
.algo-button.btn {
    background-color: #C09B4F;
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: underline;
    -webkit-box-shadow: 0px 6px 12px rgba(48, 48, 48, 0.15);
    box-shadow: 0px 6px 12px rgba(48, 48, 48, 0.15);
    border-radius: 4px;
    padding: 0.75rem 1.5rem;
    margin: 5px;
}
.algo-button.btn:hover {
    text-decoration: none;
    background-color: #AC832F;
}
.algo-button.btn,
.algo-button.btn:hover {
    color: #FFF;
}
.algo-highlighted-container-block .algo-button.btn,
.algo-footer-info-in-1-column-block-button.btn {
    background-color:#FFF;
}
.algo-highlighted-container-block .algo-button.btn,
.algo-highlighted-container-block .algo-button.btn:hover,
.algo-footer-info-in-1-column-block-button.btn,
.algo-footer-info-in-1-column-block-button.btn:hover {
    color: #C5A563;
}
.algo-highlighted-container-block .algo-button.btn:hover,
.algo-footer-info-in-1-column-block-button.btn:hover {
    background-color: #FFF8E8;
}
/*-------------- Button --------------*/


/*++++++++++++++ Footer ++++++++++++++*/
.algo-footer-info-in-1-column-block {
    /*background-color: #33312E;*/
    background: linear-gradient(rgba(22, 22, 22, 0.9), rgba(22, 22, 22, 0.9)), url(/img/backgrounds/tile.png);
}
.algo-footer-info-in-1-column-block,
.algo-footer-info-in-1-column-block-link,
.algo-footer-info-in-1-column-block-link:active,
.algo-footer-info-in-1-column-block-link:hover {
    color: #FFF;
}
.algo-footer-info-in-1-column-block-logo {
    width: 100%; /* Phone */
}
.algo-footer-info-in-1-column-block-links .algo-link {
    font-size: 0.7rem;
    font-weight: 300;
    letter-spacing: 1px;
    text-decoration: none;
}
.algo-footer-info-in-1-column-block-links .algo-link:hover {
    text-decoration: underline;
}
.algo-footer-info-in-1-column-block-imprint-link {
    border-right: 1px solid #FFF;
}
.algo-footer-info-in-1-column-block-imprint-link,
.algo-footer-info-in-1-column-block-cookies-link {
    border-left: 1px solid #FFF;
}
.algo-footer-info-in-1-column-block-madeby-link-image {
    margin-bottom: 4px;
    vertical-align: top;
}
.algo-link:hover .algo-footer-info-in-1-column-block-madeby-link-image {
    border-bottom: 1px solid #FFF;
}
/*-------------- Footer --------------*/


/*++++++++++ Phone large +++++++++*/
@media (min-width: 440px) {
    .headline-2 {
        font-size: 2.5rem;
    }
    .algo-header {
        padding-top: 66px;
    }
    .algo-navigation-menu-right-block-navbar-logo-link::before {
        display: none;
    }
    .algo-navigation-menu-right-block-navbar-logo-image {
        display: inline-block;
    }
    .google-translate-container {
        top: 66px;
    }
    .algo-footer-info-in-1-column-block-logo {
        width: auto;
    }
}
/*---------- Phone large ---------*/


/*++++++++++ Phone landscape +++++++++*/
@media (min-width: 576px) {
    .google-translate-container {
        right: 172px;
    }
    .headline-2 {
        font-size: 3rem;
    }
}
/*---------- Phone landscape ---------*/


/*++++++++++++++ Tablet ++++++++++++++*/
@media (min-width: 768px) {
    .rscale {
        width: 1px;
    }
    .algo-main {
        padding: 3rem 0;
        background-size: auto;
    }
    .algo-highlighted-container-block.hell .algo-text-with-image-left-block {
        margin-left: -15px;
    }
    .algo-highlighted-container-block.hell .algo-text-with-image-right-block {
        margin-right: -15px;
    }
    .algo-text-with-image-left-block-col-1 {
        padding-top: 0;
    }
    .algo-text-with-image-right-block-col-3 {
        padding-bottom: 0;
    }
    .algo-separated-boxes-block-col-2,
    .algo-separated-boxes-block-col-3 {
        padding-top: 0;
    }
    .algo-separated-boxes-block-headline-4 {
        max-width: 210px;
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }
    .algo-separated-boxes-block-headline-5,
    .algo-separated-boxes-block-headline-6 {
        height: 9rem;
        max-width: 310px;
    }
    .algo-footer-info-in-1-column-block-text,
    .algo-footer-info-in-1-column-block-email,
    .algo-footer-info-in-1-column-block-phone {
        font-size: 1.25rem;
    }
}

/*Spacing overrides*/
@media (max-width: 991px) {
    .algo-block.pt-1, 
    .algo-block.py-1 {
        padding-top: 0.5rem !important;
    }
    .algo-block.pb-1, 
    .algo-block.py-1 {
        padding-bottom: 0.5rem !important;
    }
    .algo-block.mt-1, 
    .algo-block.my-1 {
        margin-top: 0.5rem !important;
    }
    .algo-block.mb-1, 
    .algo-block.my-1 {
        margin-bottom: 0.5rem !important;
    }
    .algo-block.pt-2, 
    .algo-block.py-2 {
        padding-top: 0.75rem !important;
    }
    .algo-block.pb-2, 
    .algo-block.py-2 {
        padding-bottom: 0.75rem !important;
    }
    .algo-block.mt-2, 
    .algo-block.my-2 {
        margin-top: 0.75rem !important;
    }
    .algo-block.mb-2, 
    .algo-block.my-2 {
        margin-bottom: 0.75rem !important;
    }
    .algo-block.pt-3, 
    .algo-block.py-3 {
        padding-top: 1rem !important;
    }
    .algo-block.pb-3, 
    .algo-block.py-3 {
        padding-bottom: 1rem !important;
    }
    .algo-block.mt-3, 
    .algo-block.my-3 {
        margin-top: 1rem !important;
    }
    .algo-block.mb-3, 
    .algo-block.my-3 {
        margin-bottom: 1rem !important;
    }
    .algo-block.pt-4, 
    .algo-block.py-4 {
        padding-top: 1.25rem !important;
    }
    .algo-block.pb-4, 
    .algo-block.py-4 {
        padding-bottom: 1.25rem !important;
    }
    .algo-block.mt-4, 
    .algo-block.my-4 {
        margin-top: 1.25rem !important;
    }
    .algo-block.mb-4, 
    .algo-block.my-4 {
        margin-bottom: 1.25rem !important;
    }
    .algo-block.pt-5, 
    .algo-block.py-5 {
        padding-top: 1.5rem !important;
    }
    .algo-block.pb-5, 
    .algo-block.py-5 {
        padding-bottom: 1.5rem !important;
    }
    .algo-block.mt-5, 
    .algo-block.my-5 {
        margin-top: 1.5rem !important;
    }
    .algo-block.mb-5, 
    .algo-block.my-5 {
        margin-bottom: 1.5rem !important;
    }
}
/*-------------- Tablet --------------*/


/*++++++++++++++ Laptop ++++++++++++++*/
@media (min-width: 992px) {
    .rscale {
        width: 0;
    }
    .algo-main {
        padding: 4rem 0;
    }
    .headline-2 {
        font-size: 4.07rem;
    }
    .headline-3 {
        font-size: 3.15rem;
    }
    .algo-header-image-block-image-container {
        max-height: 1100px;
        overflow: hidden;
    }
    .algo-highlighted-container-block:not(.hell) .algo-textfield-block-text {
        font-size: 1.25rem;
    }
    .algo-separated-boxes-block-headline-5,
    .algo-separated-boxes-block-headline-6 {
        height: 8rem;
    }
}
/*-------------- Laptop --------------*/


/*+++++++++++++ Desktop ++++++++++++++*/
@media (min-width: 1200px) {
    .algo-header {
        padding-top: 85px;
    }
    .algo-main {
        padding: 5rem 0;
    }
    /* Bootstrap navbar override */
    .algo-navigation-menu-right-block-navbar-items {
        padding-left: 15px !important;
    }
    .nav-link span {
        padding: 2px 7px;
        border-left: 1px solid #FFF;
    }
    .nav-link, 
    .dropdown-menu .dropdown-item {
        font-size: 0.82rem;
        color: #FFF;
    }
    .navbar-expand-xl .navbar-nav a.nav-link {
        padding: 26px 0;
    }
    .nav-item,
    .dropdown-menu .dropdown-item {
        text-align: left;
        color: #FFF;
    }
    .dropdown-menu {
        -webkit-box-shadow: 0 18px 17px 0 rgba(0,0,0,0.15);
        box-shadow: 0 18px 17px 0 rgba(0,0,0,0.15);
    }
    .dropdown-menu.show {
        background-color: #C09B4F;
        padding: 10px 0;
    }
    .dropdown-menu .dropdown-item {
        padding: 5px 7px;
    }    
    .navbar-expand-xl .navbar-nav a.nav-link {
        padding: 25px 0;
    }
    .google-translate-container {
        right: 105px;
        top: 85px;
    }
    .google-translate-element {
        padding: 20px;
    }
    .algo-room-block-row-2 {
        margin-left: 30px !important;
    }
    .algo-separated-boxes-block-headline-5,
    .algo-separated-boxes-block-headline-6 {
        height: 7rem;
    }
}
/*------------- Desktop --------------*/


/*++++++++++ Desktop large +++++++++++*/
@media (min-width: 1300px) {
    .algo-header {
        padding-top: 87px;
    }
    .nav-link,
    .dropdown-menu .dropdown-item {
        font-size: 0.875rem;
    }
}
@media (min-width: 1450px) {
    .nav-link span {
        padding: 2px 12px;
    }
    .dropdown-menu .dropdown-item {
        padding: 5px 12px;
    }
}
/*---------- Desktop large -----------*/