/* =========================================================
   Focus Overrides for Accessibility
========================================================= */
:focus {
    outline: 1px solid #008C58 !important;
    outline-offset: 5px;
}

header .bottom-nav-inner a:focus,
.btm-footer a:focus {
    outline: 1px solid white !important;
}

.bottom-footer a:focus {
    outline: 1px solid white !important;
    outline-offset: 15px;
}

#c1 #content .slick-slider button:focus,
#c1 #content .slick-dots button:focus {
    outline: 2px solid white !important;
}

/* =========================================================
   Text Contrast Overrides for Accessibility
========================================================= */
.top-header .top-header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.top-header .top-header-right .lang {
    display: none;
}

.top-header .top-header-right .meta p a,
.top-header .top-header-right .lang p a {
    color: #757575;
}

.top-header .top-header-left a {
    width: fit-content;
}

.news-teaser .news-list-date {
    color: #717171;
}

/* =========================================================
   Other Overrides
========================================================= */
.top-header .top-header-right .lang,
.top-header .top-header-right .meta {
    font-size: 16px;
}

.h3.daa-first-level-nav {
    color: #008C58;
    border-bottom: 1px solid #008C58;
    padding-bottom: 10px;
    margin-top: 70px;
    margin-left: 30px;
    width: fit-content;
}

.search-link {
    border: none;
    background-color: transparent;
}

header .log .login-btn-wrap button {
    transition: all 0.5s ease-in-out;
}

header .log .login-btn-wrap .login-button:hover,
header .log .login-btn-wrap .login-button:focus {
    background-color: white;
    border: 1px solid #248756;
    color: #248756;
}

#c1 #content .grid_reverse .grid_red .select-selected,
#c1 #content .grid_reverse .btn-primary,
#c1 #content .grid_reverse .grid_red .orange-btn-link,
#c1 #content .job-search #job-offer-search-form input,
#c1 #content .job-search #job-offer-search-form select {
    border: 1px solid black !important;
}

#c1 #content .grid_reverse .btn-primary,
#c1 #content .grid_reverse .grid_red .orange-btn-link {
    color: black;
}

#c1 #content .orange-btn-link {
    color: white;
}

#c1 #content .news {
    background-color: white;
}

#c1 #content .RAKslider-image {
    width: 100%;
}

#c1 #content .slider-title {
    background-color: #248756eb;
}

#c1 #content .slick-slider button {
    background-position-x: center;
    background-position-y: center;
}

#c1 #content .slick-prev {
    left: 25px;
}

#c1 #content .slick-next {
    right: 25px;
}

#c1 #content .slick-dots button {
    display: block;
    width: 40px;
    height: 5px;
    color: white;
    background-color: white;
    overflow: hidden;
}

#c1 #content .slick-dots .slick-active button {
    background-color: #ffddab;
}
#c1 #content .tx-mmc-directmail-subscription .cancel-link {
    text-align: left;
    color: #248756;
}
#c1 #content .grid_transparent .grid_red .login-button {
    border: 1px solid white;
    color: white;
}

.resp-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
}
.resp-buttons .burger-button {
    width: fit-content;
}
.resp-buttons .search-link:after {
    display: block;
    width: 30px;
    height: 30px;
    content: "";
    background-repeat: no-repeat;
    color: transparent;
    background-image: url("/typo3conf/ext//smedia_frontend/Resources/Public/images/Icon_search.png");
    background-size: cover;
}

header .search-header {
    bottom: unset;
    top: 100%;
}

.search-header fieldset {
    display: flex;
    align-items: center;
    gap: 15px;
}
.search-header fieldset .tx-indexedsearch-search-submit {
    margin-top: 0;
}
#content .more:hover {
    color: white;
}
#content .news .page-navigation ul {
    padding: 0;
}
#content .news .page-navigation ul li {
    margin-bottom: 0;
    padding: 0 5px;
}
#content .news .page-navigation ul li.current {
    color: black;
    text-decoration: underline;
}
#content .news .page-navigation ul li a {
    text-decoration: none;
    color: #248756;
}
#content .news .page-navigation ul li a:hover {
    text-decoration: underline;
    color: #248756;
}

footer {
    width: 100%;
}

#content .job-list-pagination nav li:before,
#content .jobapplication-list-pagination nav li:before,
#content .event-list ul.pagination li:before,
#content .lawfirm-list-pagination ul li:before {
    content: none;
}
#content .job-list-pagination nav li.active *,
#content .jobapplication-list-pagination nav li.active *{
    color: black;
}

#content .job-list-pagination nav li a:hover,
#content .jobapplication-list-pagination nav li a:hover {
    color: black;
}
/* =========================================================
   Custom Select Styling
========================================================= */
.custom-select-new {
    position: relative;
}

.custom-select-new select {
    display: none;
}

.custom-select-new .select-selected {
    border: 1px solid #248756;
    color: black;
}

.custom-select-new.color-white .select-selected:after {
    background-image: url("/fileadmin/user_upload/icon_arrow_dorpdown_white.svg");
}

.custom-select-new.color-white .select-selected {
    border: 1px solid white;
    color: white;
}

.custom-select-new.color-black .select-selected {
    border: 1px solid black;
    color: black;
}

/* =========================================================
   Lawyer Search Form
========================================================= */
#lawyersearchForm .extended-search-container .custom-select-new {
    margin-bottom: 20px;
}

#lawyersearchForm .extended-search-container .custom-select-new .select-selected:after {
    display: none;
}

#lawyersearchForm .extended-search-container .custom-select-new .select-selected,
#lawyersearchForm .extended-search-container .select-lawyer-language {
    color: #757575;
}

#lawyersearchForm .extended-search-container .select-lawyer-language {
    margin-bottom: 20px;
}

#lawyersearchForm .extended-search-container .select-lawyer-language:focus,
#lawyersearchForm .extended-search-container .custom-select-new .select-selected:focus {
    box-shadow: 0 0 0 .25rem #008c58aa !important;
}

/* =========================================================
   Pushy Navigation & Headings
========================================================= */
.pushy .h3 {
    word-break: break-word;
    display: inline-block;
}

.h3.daa-first-level-nav {
    margin-top: 70px;
    margin-left: 30px;
}

.h3 a {
    color: #248756;
    text-decoration: none;
}

/* =========================================================
   Login Modal
========================================================= */
.loginModal fieldset legend,
header .log .frame-type-felogin_login .loginModal h3,
header .log .frame-type-felogin_login .loginModal p {
    display: none;
}

.loginModal .modal-dialog {
    max-width: 1100px !important;
    margin-top: 25vh;
}

.loginModal .modal-dialog .modal-content {
    background-color: #fff;
}

.loginModal .modal-dialog .modal-content .modal-header {
    border-bottom: 0;
    justify-content: flex-end;
}

.loginModal .modal-dialog .modal-content .modal-header .btn-close {
    background-color: transparent;
    opacity: 1;
    padding: .5rem;
}

.loginModal .modal-dialog .modal-content .modal-body {
    padding-top: 30px;
    text-align: center;
}

.loginModal .modal-dialog .modal-content .modal-body .wrong-login {
    color: red;
    margin-bottom: 10px;
}

.loginModal fieldset .login-pwd-reset-container {
    text-align: center;
    max-width: 530px;
    margin: 10px auto 30px;
}

.loginModal fieldset .login-pwd-reset-container a {
    color: #008c58;
    font-size: 16px;
}

.loginModal fieldset input {
    width: 530px;
    background-color: transparent;
    padding: 10px;
    border: 1px solid #000;
    margin-bottom: 10px;
    margin-left: 0 !important;
    border-radius: 0;
}

.loginModal fieldset input[type=submit] {
    width: 266px !important;
    background-color: transparent;
    border: 1px solid #008c58;
    color: #008c58;
    text-transform: uppercase;
    font-size: 23px;
    margin-top: 30px;
    padding: 5px;
}

.loginModal .modal-footer {
    display: none !important;
}

/* =========================================================
   Breadcrumb
========================================================= */

#c1 .breadscrumb {
    display: none;
}

.breadscrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 20px 15px;
}
.breadscrumb .breadscrumb-item:after {
    content: ">";
    margin-left: 10px;
    color: #248756;
    font-weight: bold;
}
.breadscrumb .breadscrumb-item:last-child:after {
    display: none;
}
.breadscrumb .breadscrumb-item a {
    color: #757575!important;
    font-size: 16px;
    text-decoration: none;
}


/* =========================================================
   Burgermenu
========================================================= */
.burger-button {
    border: none;
    display: block;
    margin-bottom: 0;
    background-color: transparent;
}

.burger-button .burger-menu {
    position: relative;
    height: fit-content;
    padding: 0;
    right: 0;
}
.burger-button .burger-menu>div {
    margin: 0 auto 8px;
}
.burger-button .burger-menu>div:last-child {
    margin-bottom: 0;
}
/* =========================================================
   Media Queries
========================================================= */
@media (min-width: 576px) {
    .top-header .top-header-right {
        padding-top: 45px;
    }
}

@media (max-width: 767px) {
    #ce_person .person-container .person-image {
        height: 190px !important;
    }
}

@media (min-width: 768px) {
    .pushy .meta {
        display: flex !important;
    }
}

@media (max-width: 1099px) {
    .top-header .top-header-right .login-btn-wrap,
    .top-header .top-header-right .meta {
        display: none !important;
    }

    .top-header .top-header-right {
        position: relative;
        top: 0;
    }
}

@media (min-width: 1100px) {
    .pushy .meta {
        display: none !important;
    }
    .h3.daa-first-level-nav {
        padding-bottom: 10px;
    }
    .resp-buttons .search-link {
        display: none;
    }
    .top-header .top-header-right {
        display: block;
    }
    .top-header .top-header-right .lang {
        display: flex;
    }

}

@media (min-width: 1200px) {
    .lawyer-search-simple .custom-select-new {
        width: 50%;
    }
}
