[id] {
    scroll-margin-top: 160px;
}
html {
    font-size: var(--pn-font-size-body);
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
    font-family: var(--pn-font-family-body);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
    line-height: var(--pn-line-height-body);
    color: var(--pn-font-color);
    margin: 0;
    padding: 0;
    background-color: white;
    min-height: 100%;
    letter-spacing: 0.02em;
}
body.opened-menu {
    max-height: 100vh;
    overflow: hidden;
}
b, strong {
    font-weight: 500;
}
a, a:hover {
    color: var(--pn-primary);
    text-decoration: none;
}
#service-nav a:hover,
a.pn-tile-item:hover > *,
#main-nav-wrapper ul ul a:hover,
.team-item a:hover,
.breadcrumb a:hover,
.footer-left a:hover {
    opacity: 0.75;
}
p {
    margin-bottom: 1rem;
}
img {
    max-width: 100%;
    height: auto;
}
h1, h2, h3, h4 {
    font-weight: 600;
    color: var(--pn-primary);
}
h1 {
    font-size: var(--pn-font-size-h1);
    line-height: 1.143;
}
h2 {
    font-size: var(--pn-font-size-h2);
    line-height: 1.182;
    letter-spacing: 0;
}
h3,
h3 .accordion-button {
    font-size: var(--pn-font-size-h3);
    letter-spacing: 0.04em;
    line-height: 1.143;
}
h4 {
    font-size: var(--pn-font-size-h4);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.333;
}
.content-element ul {
    margin-left: 0;
    padding-left: 0;
}
.content-element li {
    margin-bottom: 0.3em;
}
.content-element ul > li {
    list-style: none;
    padding-left: 25px;
    position: relative;
}
.content-element ul > li::before {
    content: "";
    position: absolute;
    display: block;
    width: 0.7em;
    height: 2px;
    background-color: var(--pn-primary);
    left: 0;
    top: 0.7em;
}
@media (min-width: 1440px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1400px;
    }
}
.container-small .content-inner {
    max-width: 812px;
    width: 90%;
}
.container-smaller .content-inner {
    max-width: 1088px;
    width: 100%;
}
.container-right .content-inner {
    justify-self: end;
}
.container .container {
    padding: 0;
    max-width: 100%;
}
.content-element {
    padding-top: var(--pn-content-element-padding);
    padding-bottom: var(--pn-content-element-padding);
    background-position: right bottom;
    background-size: 30%;
    background-repeat: no-repeat;
}
.content-element-image {
    display: none;
}
.main-content .default-animation {
    transform: translateY(150px);
    transition: all 1.2s cubic-bezier(.165,.84,.44,1);
    opacity: 0;
}
.main-content .default-animation.triggered {
    transform: translateY(0);
    opacity: 1;
    transition-delay: .2s;
}
[class*="__animate__"] {
    opacity: 0;
}
.content-element.full {
    padding-left: 0;
    padding-right: 0;
}
.content-element.frame-type-shortcut {
    padding-top: 0;
    padding-bottom: 0;
}
.content-element .content-element {
    padding-left: 0;
    padding-right: 0;
}
fieldset[data-repeatable-container] + fieldset[data-repeatable-container] {
    margin-top: 70px;
}
.repeatable-container {
    padding-left: 0;
    padding-right: 0;
}
[data-repeatable-container] .form-group .form-group {
    padding-bottom: 20px;
    border-bottom: 1px solid white;
    margin-bottom: 10px;
}
legend.control-label .btn {
    font-weight: 200;
    margin-top: 0;
    color: var(--pn-blue);
}
.form-control {
    border: 1px solid var(--pn-font-color);
    margin-bottom: 20px;
    border-radius: var(--pn-border-radius);
    color: var(--pn-primary);
    padding-left: 22px;
    width: 70%;
}
.form-control:focus {
    box-shadow: none;
}
.form-label {
    margin-bottom: 0;
    margin-left: 22px;
    margin-top: 10px;
}
.form-inline {
    display: flex;
    justify-content: flex-start;
}
.form-inline > .form-group {
    margin-right: 20px;
}
.input.checkbox {
    margin-top: 10px;
}
.input.checkbox .inputs-list {
    display: flex;
    flex-wrap: wrap;
}
.input.checkbox .inputs-list .form-check {
    margin-right: 50px;
}
.input.checkbox .inputs-list .form-check label {
    display: flex;
    align-items: center;
}
.input.checkbox .inputs-list .form-check input {
    width: 50px;
    height: 50px;
    border-radius: 33%;
    margin-right: 15px;
    appearance: none;
    background-color: white;
}
.input.checkbox .inputs-list .form-check input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    background-color: var(--pn-blue);
    border-color: var(--pn-blue);
}
textarea.form-control {
    min-height: 200px;
}
.form-check-input:focus {
    border-color: transparent;
    box-shadow: 0 0 0 .25rem rgba(87, 137, 174, .25);
}
select.form-control {
    background-image: url("../Images/chevron-down-primary.svg");
    background-position: calc(100% - 20px) center;
    background-repeat: no-repeat;
    background-size: 12px auto;
    min-width: 130px;
}
.form-text {
    margin-top: -15px;
    color: white;
    margin-left: 22px;
}
.button-navigation .btn {
    margin-top: 0;
}
.frame-type-form_formframework .btn-toolbar {
    justify-content: flex-end;
}
.frame-type-form_formframework .btn {
    margin-top: 30px;
}
[data-repeatable-container] ~ .actions .btn-toolbar {
    justify-content: space-between;
}
.btn[data-copy-button] {
    color: white;
    background-color: var(--pn-blue);
    display: flex;
    align-items: center;
}
.btn[data-copy-button] .glyphicon-plus::before {
    content: "+";
    font-weight: 200;
    font-size: 28px;
    margin-left: 10px;
}
.btn-group.previous .btn,
legend.control-label .btn[data-remove-button] {
    color: white;
}
.btn-primary.arrow-right {
    padding: 20px 30px 20px 85px;
    position: relative;
    text-align: left;
}
.btn-primary.arrow-right::before {
    content: "";
    position: absolute;
    left: 33px;
    width: 28px;
    height: 34px;
    background: url("../Images/arrow-right-white.svg") center no-repeat;
    background-size: contain;
}
.btn-primary.arrow-right:hover::before {
    background: url("../Images/arrow-right-primary.svg") center no-repeat;
    background-size: contain;
}
.btn-primary.inverted.arrow-right::before {
    background: url("../Images/arrow-right-primary.svg") center no-repeat;
    background-size: contain;
}
.btn-primary.inverted.arrow-right:hover::before {
    background: url("../Images/arrow-right-white.svg") center no-repeat;
    background-size: contain;
}
.btn.btn-audio {
    padding: 20px 30px 20px 85px;
    position: relative;
}
.btn.btn-audio::before {
    content: "";
    position: absolute;
    left: 33px;
    width: 28px;
    height: 34px;
    background: url(../Images/icon-audio.svg) center no-repeat;
    background-size: contain;
}
.btn.btn-audio.play::before {
    background: url(../Images/icon-audio-mute.svg) center no-repeat;
    background-size: contain;
}
.page-tree-branch-ergolz .btn.btn-audio:hover::before {
    background-image: url(../Images/icon-audio-hover.svg);
}
.page-tree-branch-jobs .btn.btn-audio:hover::before {
    background-image: url(../Images/icon-audio-hover-jobs.svg);
}
.page-tree-branch-restaurant .btn.btn-audio:hover::before {
    background-image: url(../Images/icon-audio-hover-restaurant.svg);
}
.page-tree-branch-wohnen .btn.btn-audio:hover::before {
    background-image: url(../Images/icon-audio-hover-wohnen.svg);
}
.text-header {
    margin-bottom: 1rem;
}
.pn-border-bottom {
    border-bottom: 2px solid var(--pn-border-color);
}

.wrap-all {
    flex: 1 0 auto;
    position: relative;
    padding-top: 150px;
}
#main-navi-checkbox:checked ~ .wrap-all {
    overflow: hidden;
    height: 100vh;
}
#main-navi-checkbox:checked ~ .main-footer {
    overflow: hidden;
    height: 0;
}
.main-content {
    padding-bottom: 50px;
}
#top-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    z-index: 100;
    background: white;
    transition: height 0.5s cubic-bezier(0.59, 0.35, 0.22, 1), background 0.2s cubic-bezier(0.59, 0.35, 0.22, 1);
    padding-left: 45px;
    padding-right: 45px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16);
    z-index: 100;
}
#top-header .container-fluid {
    transition: padding 0.5s cubic-bezier(0.59, 0.35, 0.22, 1);
}

#main-navi-checkbox {
    display: none;
}
.logo-image {
    width: 214px;
}
#main-nav {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    z-index: 990;
    transform: translate(101vw);
    transition: transform 0.5s cubic-bezier(0.99, 0.01, 0.58, 1);
    overflow-y: auto;
    overflow-x: hidden;
}
#main-navi-checkbox:checked ~ .wrap-all #main-nav {
    transform: none;
    transition: transform .7s cubic-bezier(0.59, 0.35, 0.22, 1);
}
.menu-string {
    position: absolute;
    left: -80px;
    top: -6px;
    font-size: var(--pn-font-size-smaller);
    display: inline-block;
}
.main-navi-label {
    display: inline-block;
    cursor: pointer;
    width: 25px;
    height: 18px;
    position: relative;
    z-index: 9099;
}
.main-navi-label:target,
.main-navi-label:focus-within,
.main-navi-label:focus-visible,
.main-navi-label:focus,
.main-navi-label:active {
    cursor: pointer;
}
.main-navi-label .bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: block;
    background: var(--pn-font-color);
    color: var(--pn-font-color);
    height: 2px;
    transition: all 0.4s;
    border-radius: 1px;
}
.main-navi-label span.bar-2 {
    top: 7px;
}
.main-navi-label span.bar-3 {
    top: 14px;
}
#main-navi-checkbox:checked ~ .wrap-all .main-navi-label .bar-1 {
    transform: rotate(45deg);
    top: 10px;
}
#main-navi-checkbox:checked ~ .wrap-all .main-navi-label .bar-2 {
    opacity: 0;
}
#main-navi-checkbox:checked ~ .wrap-all .main-navi-label .bar-3 {
    transform: rotate(-45deg);
    top: 10px;
}
#main-nav-wrapper {
    position: relative;
    width: 50vw;
    min-height: 100%;
    background-color: var(--pn-primary);
    color: #FFF;
    padding: 48px 67px;
    display: flex;
    flex-direction: column;
}
#main-nav .accord {
    display: none;
}
#main-nav-wrapper > ul {
    flex-direction: column;
    margin-left: 50%;
    margin-top: 15vh;
}
#main-nav-wrapper a {
    display: inline-block;
    position: relative;
}
#main-nav-wrapper .menu-spacer {
    height: 100px;
}
#main-nav-wrapper .menu-spacer a {
    display: none;
}
#main-nav-wrapper > ul > li > ul {
    display: none;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 50vw;
    min-height: 100%;
    width: 50vw;
    transition: left 0.5s cubic-bezier(0.99, 0.01, 0.58, 1) 0.1s;
    background-color: white;
    padding: calc(15vh + 191px) 20px 20px 170px;
}
#main-nav-wrapper > ul > li.current > ul {
    display: block;
}
#main-nav-wrapper > ul > li.current > ul {
    z-index: 996;
}
#main-nav-wrapper > ul > li > a {
    color: var(--pn-main-nav-color);
    padding: 20px 0;
    font-size: var(--pn-font-size-main-nav);
}
#main-nav-wrapper > ul > li.navi-item.current > a,
#main-nav-wrapper > ul > li.navi-item > a:hover {
    color: white
}
#main-nav-wrapper > ul > li > a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 18px;
    width: 0;
    height: 5px;
    background-color: white;
    transition: all 0.3s cubic-bezier(0.99, 0.01, 0.58, 1);
}
#main-nav-wrapper > ul > li > a:hover::after,
#main-nav-wrapper > ul > li.current > a::after  {
    width: 100%;
}
li.subnavi-logo,
li.parent-navi-item {
    display: none;
}
.subnavi-arrow {
    margin-left: 8px;
    position: relative;
    width: 10px;
    height: 12px;
}
#main-nav-wrapper > ul > li.current .subnavi-arrow {
    display: none;
}
.subnavi-arrow::before,
.subnavi-arrow-back::before {
    position: absolute;
    content: "";
    background: url("../Images/chevron-right-lightblue.svg") center no-repeat;
    background-size: contain;
    width: 10px;
    height: 13px;
    top: 16px;
}
#main-nav-wrapper > ul > li > a:hover .subnavi-arrow::before {
    background: url("../Images/chevron-right-white.svg") center no-repeat;
    background-size: contain;
}
#main-nav-wrapper ul ul a {
    padding: 8px 0;
    color: var(--pn-font-color);
}
#main-nav-wrapper ul ul a:hover {
    color: var(--pn-primary);
}
#main-nav-wrapper.jobs ul ul a:hover {
    color: var(--pn-purple);
}
#main-nav-wrapper.restaurant ul ul a:hover {
    color: var(--pn-bordeaux);
}
#main-nav-wrapper.wohnen ul ul a:hover {
    color: var(--pn-taupe);
}

#main-nav-wrapper .btn-primary {
    margin-top: 65px;
    align-items: center;
    display: inline-flex;
    padding: 16px 35px 16px 30px;
    color: white;
}
#main-nav-wrapper .btn-primary.not-first-special-menu-item {
    margin-top: 35px;
}
#main-nav-wrapper .special-menu-image svg {
    height: 37px;
    margin-right: 25px;
    display: block;
}
#main-nav-wrapper a:hover > .special-menu-image svg * {
    fill: var(--pn-blue);
}
#main-nav-wrapper.jobs a:hover > .special-menu-image svg * {
    fill: var(--pn-purple);
}
#main-nav-wrapper.restaurant a:hover > .special-menu-image svg * {
    fill: var(--pn-bordeaux);
}
#main-nav-wrapper.wohnen a:hover > .special-menu-image svg * {
    fill: var(--pn-taupe);
}

#service-nav ul {
    align-items: center;
    justify-content: flex-end;
}
#service-nav a {
    font-size: var(--pn-font-size-smaller);
    margin-top: 0;
    position: relative;
    margin-left: 50px;
    padding-right: 23px;
}
#service-nav a.btn-primary {
    background-color: var(--pn-purple);
    padding-left: 40px;
    padding-right: 50px;
}
#service-nav a.btn-primary:hover {
    background-color: white;
    border-color: var(--pn-purple);
    color: var(--pn-purple);
}
#service-nav a::after {
    position: absolute;
    content: "";
    background: url("../Images/chevron-right-primary.svg") center no-repeat;
    background-size: contain;
    width: 10px;
    height: 13px;
    top: 12px;
    right: 0;
}
#service-nav a.btn-primary::after {
    background: url("../Images/chevron-right-white.svg") center no-repeat;
    background-size: contain;
    right: 27px;
    top: 21px;
}
#service-nav a.btn-primary:hover::after {
    background: url("../Images/chevron-right-purple.svg") center no-repeat;
    background-size: contain;
}

.main-footer {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    background-color: var(--pn-primary);
    color: white;
    padding-top: 60px;
    padding-bottom: 40px;
    font-size: var(--pn-font-size-footer);
    line-height: 1.47;
    border-top: 2px solid white;
}
.main-footer a {
    color: white;
}
.main-footer a[href^="tel:"] {
    font-size: var(--pn-font-size-footer-link);
}
.footer-left img[src*="logo"] {
    transform: translateX(-30px);
}
.footer-center p {
    margin-bottom: 0;
}
.footer-right {
    align-self: center;
}
.footer-right .frame-type-text a {
    font-size: var(--pn-font-size-footer-link);
    position: relative;
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 33px;
    line-height: 1.18;
}
.footer-right .frame-type-text a::after {
    position: absolute;
    content: "";
    background: url(../Images/chevron-right-white.svg) center no-repeat;
    background-size: contain;
    width: 12px;
    height: 16px;
    top: 14px;
    right: 0;
}
.arrow-page-go-up {
    display: inline-block;
    position: fixed;
    bottom: 60px;
    right: 30px;
    z-index: -1;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    width: 50px;
    height: 50px;
    background: url("../Images/arrow-page-go-up.svg") center no-repeat;
    background-size: 100%;
    pointer-events: none;
    border-radius: 50%;
}
.arrow-page-go-up.active {
    z-index: 10;
    opacity: 1;
    pointer-events: all;
}
.breadcrumb {
    margin-top: 37px;
    margin-bottom: -50px;
}
html .breadcrumb-item+.breadcrumb-item::before {
    content: var(--bs-breadcrumb-divider, "/");
    transform: translateY(-1px);
}
.pagelevel-0 .breadcrumb {
    display: none;
}
.breadcrumb-item {
    font-size: var(--pn-font-size-breadcrumb);
}
.breadcrumb-text,
.breadcrumb-item.active {
    color: var(--pn-font-color);
}
.page-tree-branch-ergolz .breadcrumb-item:first-child,
.page-tree-branch-ergolz .breadcrumb-item:nth-child(2)::before {
    display: none;
}
.page-tree-branch-ergolz .breadcrumb-item:nth-child(2) {
    padding-left: 0;
}

.loading-content {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0,0,0,0.3);
    display: none;
    align-items: center;
    justify-content: center;
}
.loading-content .loader {
    border: 13px solid var(--pn-primary);
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
    border-top: 13px solid white;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: inline-block;
}

#main-nav-wrapper.ergolz {
    background-color: var(--pn-blue);
}
#main-nav-wrapper.jobs {
    background-color: var(--pn-purple);
}
#main-nav-wrapper.restaurant {
    background-color: var(--pn-bordeaux);
}
#main-nav-wrapper.wohnen {
    background-color: var(--pn-taupe);
}
#main-nav-wrapper.ergolz > ul > li > a  {
    color: var(--pn-main-nav-color-blue);
}
#main-nav-wrapper.jobs > ul > li > a  {
    color: var(--pn-main-nav-color-purple);
}
#main-nav-wrapper.restaurant > ul > li > a  {
    color: var(--pn-main-nav-color-bordeaux);
}
#main-nav-wrapper.wohnen > ul > li > a  {
    color: var(--pn-main-nav-color-taupe);
}
#main-nav-wrapper.ergolz .subnavi-arrow::before,
#main-nav-wrapper.ergolz .subnavi-arrow-back::before {
    background: url(../Images/chevron-right-lightblue.svg) center no-repeat;
    background-size: contain;
}
#main-nav-wrapper.jobs .subnavi-arrow::before,
#main-nav-wrapper.jobs .subnavi-arrow-back::before {
    background: url(../Images/chevron-right-lightpurple.svg) center no-repeat;
    background-size: contain;
}
#main-nav-wrapper.restaurant .subnavi-arrow::before,
#main-nav-wrapper.restaurant .subnavi-arrow-back::before {
    background: url(../Images/chevron-right-lightbordeaux.svg) center no-repeat;
    background-size: contain;
}
#main-nav-wrapper.wohnen .subnavi-arrow::before,
#main-nav-wrapper.wohnen .subnavi-arrow-back::before {
    background: url(../Images/chevron-right-lighttaupe.svg) center no-repeat;
    background-size: contain;
}
#main-nav-wrapper.ergolz .btn-primary {
    background-color: var(--pn-blue);
}
#main-nav-wrapper.jobs .btn-primary {
    background-color: var(--pn-purple);
}
#main-nav-wrapper.restaurant .btn-primary {
    background-color: var(--pn-bordeaux);
}
#main-nav-wrapper.wohnen .btn-primary {
    background-color: var(--pn-taupe);
}
#main-nav-wrapper.ergolz .btn-primary:hover {
    color: var(--pn-blue);
    border-color: var(--pn-blue);
    background-color: white;
}
#main-nav-wrapper.jobs .btn-primary:hover {
    color: var(--pn-purple);
    border-color: var(--pn-purple);
    background-color: white;
}
#main-nav-wrapper.restaurant .btn-primary:hover {
    color: var(--pn-bordeaux);
    border-color: var(--pn-bordeaux);
    background-color: white;
}
#main-nav-wrapper.wohnen .btn-primary:hover {
    color: var(--pn-taupe);
    border-color: var(--pn-taupe);
    background-color: white;
}

@media (min-width: 1199px) {
    .floating-right {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .floating-right .content-inner {
        position: absolute;
        right: .75rem;
        bottom: 0;
        width: auto;
        text-align: right;
    }
    .floating-right p:last-child {
        margin-bottom: 0;
    }
}
@media (max-width: 1399px) {
    #service-nav .count-items-2:nth-child(3) {
        display: none;
    }
    #service-nav .count-items-3:nth-child(3),
    #service-nav .count-items-3:nth-child(4) {
        display: none;
    }
    #main-nav-wrapper > ul {
        margin-left: 0;
    }
    #main-nav-wrapper .menu-spacer {
        height: 60px;
    }
    #main-nav-wrapper > ul > li > ul {
        padding: calc(15vh + 162px) 20px 20px 50px;
    }
}
@media (max-width: 1199px) {
    #service-nav li:nth-child(2) {
        display: none;
    }
}
@media (max-height: 900px) and (min-width: 1024px)  {
    #main-nav-wrapper .menu-spacer {
        height: 30px;
    }
    #main-nav-wrapper > ul {
        margin-top: 5vh;
    }
    #main-nav-wrapper > ul > li > ul {
        padding-top: calc(5vh + 191px);
    }
}
@media (max-width: 1399px) and (orientation: landscape)  {
    #main-nav-wrapper > ul {
        margin-top: 5vh;
    }
    #main-nav-wrapper > ul > li > ul {
        padding: calc(5vh + 196px) 20px 20px 67px;
    }
}
@media (min-width: 992px) and (max-width: 1199px)  {
    .footer-right a {
        font-size: 26px;
    }
}
@media (max-width: 991px) {
    #main-nav-wrapper > ul > li > ul {
        padding: calc(15vh + 200px) 20px 20px 50px;
    }
    .footer-left img[src*="logo"] {
        transform: none;
    }
    .btn-primary.arrow-right {
        padding: 17px 30px 17px 85px;
    }
}
@media (max-width: 767px) {
    :root {
        --bs-gutter-x: 30px;
    }
    body {
        hyphens: auto;
    }
    [id] {
        scroll-margin-top: 150px;
    }
    h1, h2, h3 {
        hyphens: auto;
    }
    h1 {
        line-height: 1.05;
    }
    h2 {
        line-height: 1.11;
    }
    h3 {
        line-height: 1.2;
    }
    h3 .accordion-button {
        font-size: 20px;
        line-height: 1.15;
    }
    h4 {
        line-height: 1.35;
    }
    p {
        margin-bottom: 0.75rem;
    }
    .content-element ul > li {
        padding-left: 20px;
    }
    .lead-text {
        font-size: 20px;
        line-height: 1.35;
    }
    .row {
        --bs-gutter-x: 30px;
    }
    .subheader {
        margin-bottom: 25px;
    }
    .wrap-all {
        padding-top: 140px;
    }
    .breadcrumb {
        margin-top: 20px;
        margin-bottom: 10px;
    }
    .breadcrumb-item {
        font-size: 14px;
    }
    .content-element-image {
        display: block;
    }
    .content-with-background-image {
        background-image: none !important;
    }
    .container-small .content-inner {
        width: 100%;
    }
    .not-full-width-for-mobile .container-small.container-right .content-inner {
        width: 90%;
    }
    .content-element-header, .ce-gallery {
        margin-bottom: 0;
    }
    #top-header {
        height: 140px;
        padding: 8px 0 0;
    }
    .logo-image {
        width: 150px;
    }
    .menu-string {
        display: none;
    }
    .main-navi-label {
        width: 30px;
    }
    #top-header #main-navi-wrapper .main-navi-label.colored .bar {
        background: var(--pn-font-color);
    }
    #main-navi-checkbox:checked ~ .wrap-all .main-navi-label .bar {
        background: white;
    }
    #main-nav {
        width: 200vw;
        transform: translate(201vw);
    }
    #main-nav-wrapper {
        padding: 44px 30px 64px;
        width: 100vw;
    }
    #main-navi-checkbox:checked ~ .wrap-all #main-nav {
        transform: translate(100vw);
    }
    #main-nav-wrapper .logo-link {
        padding: 0;
    }
    li.subnavi-logo,
    li.parent-navi-item {
        display: block;
    }
    #main-nav-wrapper > ul {
        margin-top: 100px;
    }
    #main-nav-wrapper > ul > li.subnavi-logo {
        display: none;
    }
    #main-nav-wrapper > ul > li > a {
        padding: 12px 0;
    }
    #main-nav-wrapper > ul > li > a::after {
        bottom: 5px;
        height: 4px;
    }
    .subnavi-arrow::before,
    .subnavi-arrow-back::before {
        top: 12px;
    }
    #main-nav-wrapper > ul > li > ul {
        left: 100vw;
        width: 100vw;
        z-index: 996;
        padding: 44px 35px 20px;
        display: block;
    }
    #main-nav-wrapper > ul > li.current > ul {
        left: 0;
    }
    #main-nav-wrapper .btn-primary {
        padding: 13px 28px 13px 26px;
    }
    #main-nav-wrapper .btn-primary {
        margin-top: 50px;
    }
    #main-nav-wrapper .show-main-nav {
        color: #bbb;
        padding: 40px 0 40px;
    }
    #main-nav-wrapper .show-main-nav img {
        margin-right: 5px;
        position: relative;
        transform: translateY(-2px);
    }
    .main-footer {
        padding-top: 50px;
        padding-bottom: 20px;
    }
    .footer-left {
        padding-bottom: 50px;
    }
    .footer-left .ce-gallery {
        margin-bottom: 5px;
    }
    .footer-right {
        margin-top: 30px;
        justify-content: flex-start;
        margin-bottom: 50px;
    }
    .footer-right a {
        line-height: 1.22;
        padding-right: 25px;
    }
    .footer-right .frame-type-text a::after {
        width: 10px;
        height: 14px;
        top: 11px;
    }
    .btn-primary.arrow-right {
        padding: 17px 12px 17px 68px;
    }
    .btn-primary.arrow-right::before {
        left: 26px;
        width: 26px;
        height: 30px;
    }
    .content-element {
        background-size: 100%;
        background-position: right bottom !important;
    }
    .form-control {
        width: 100%;
    }
    .form-inline {
        flex-direction: column;
    }
    .form-inline > .form-group {
        margin-right: 0;
    }
}
@media (max-width: 575px) {
    .content-element {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(359deg)
    }
}