:root{
    --rs-grey: #4E4946;
    --rs-greengrey: #E8E7DF;
    --rs-gold: #9F895C;
    --rs-yellowGold: #C4A35A;
    --rs-red: #A85353;
    --rs-green: #00A628;
    --ui-red:#ff6760;
    --gold-linear: linear-gradient(110deg,rgba(217, 198, 118, 1),rgba(252, 238, 174, 1),rgba(196, 163, 90, 1),rgba(67, 45, 16, 1));
    --dark-linear: linear-gradient(90deg,rgba(69, 72, 78, 1),#3b3c40);
    }

body{
    font-family: "roboto", sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    color: #000;
}

a {
    color:currentColor;
}

a:hover {
    color: var(--rs-gold);
}

h1 {
    margin-bottom: 2rem;
}

h2  {
    margin-bottom: 1.5rem;
}

blockquote{
    padding: 0;
    margin: 0;
    text-align: center;
}
blockquote p {
    font-family: "Abril display", serif;
    font-size: 2rem;
    margin-bottom: 0;
    line-height: 1.2;
}

section:last-of-type {
    padding-top: 3rem;
    padding-bottom: 1rem;
}

.haeger blockquote p {
    font-family: "Cinzel", serif;
}

@media(min-width: 1280px){
    blockquote p {
        font-size: 3.5rem;
    }
    .haeger blockquote p {
        font-size: 3rem;
    }
}



.haeger h1,
.haeger h2,
.haeger h3 {
    /* font-family: "Cinzel", serif; Old-font */
    font-family: "raleway", sans-serif;
    font-weight: 500;
}

body.haeger  {
    font-family: "raleway", sans-serif;
}

.haeger .headline_dash::after {
    width:0!important;
}
.haeger .nextevent .day {
    position: relative;
    top: -0.25rem;
}

.haeger b,
.haeger strong {
    font-weight: 700;
}


del {
    color:#ba4043
}
.client #wrapper {
    background-color: #fff;
    color:#3b3c40
}

section {
    border-bottom: 2rem solid #fff;
}

@media(min-width: 768px){
    section:last-of-type {
        padding-top: 1.5rem;
    }
}

@media(min-width: 1024px){
    section {
        margin-top: 3rem;
        padding-top: 2rem;
    }
    section:last-of-type {
        padding-bottom: 2rem;
        padding-top: 0;
    }
}

.citydates {
    list-style: none;
    padding: 0;
    margin: 0;
}

.citydates li,
.citydates span{
    display: inline-block;
}
.citydates .city{
    width: 120px;
}
.citydates .date {
    width: 76px;
}
.citydates .timerange{
    text-align: right;
}

.client .navbar{
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    height: 100px;
    background-color: var(--rs-grey);
}
.navbar-nav li {
    margin-left: 0.5rem;
}


.calendar-wrapper{
    position: relative;
}

.calendar-wrapper label {
    width:100%
}

header {
    background: url('images/de_header.png') no-repeat bottom right /cover;
    min-height: 800px;
    position: relative;
}

header::before{
    content: "";
    background: #000;
    position: absolute;
    top: 0;
    width: 100%;
    height: 10px;
    left: 0;
}

header .container-xl {
    padding-top: 280px;
}

header .nextevent {
    position: absolute;
    right: 0;
    top: 0;
    background: #fff;
    padding: 2rem 1.5rem 1rem;
}

header .nextevent::before {
    content: "";
    background: #D9C676;
    background: var(--gold-linear);
    position: absolute;
    top: 0;
    width: 100%;
    height: 10px;
    left: 0;
}

.nextevent .month{text-transform: uppercase}
.nextevent .day{
    font-size: 6rem;
    line-height: 0.9;
    display: inline-block;
}

.nextevent .location {
    display: block;
}

@media(max-width: 414px){
    header p {
        text-shadow: -1px 1px 3px rgba(255,255,255,0.65);
    }
}

@media(min-width: 768px) {
    header {
        background-position: bottom center;
        min-height: 660px;
    }
}

@media(min-width: 1024px){
    header .nextevent {
        padding: 7rem 1.5rem 1rem;
    }
}

#sdm h2 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

#sdm h2 .headline_dash::after {
    width: 1rem;
    bottom: 13px;
    left: -24px;
}

#sdm .title {
    font-size: 0.875rem;
}

#sdm .price {
    font-weight: 700;
    line-height: 1.2;
    margin-top: 0.5rem;
}

#sdm .price del {
    font-size: 85%;
}

#sdm .note {}

#sdm::before {
    content: "";
    position: absolute;
    height: 30%;
    width: 4px;
    background: #000;
    left: 0;
    top:0
}

#sdm::after {
    content: "";
    position: absolute;
    height: 4px;
    width: 20%;
    background: #000;
    left: 0;
    top:0
}

#sdm .note {
    padding-bottom: 2rem;
    position: relative
}

#sdm .note::before {
    content: "";
    position: absolute;
    height: 30%;
    width: 4px;
    background: #000;
    bottom: 0;
    right: 0;
}

#sdm .note::after {
    content: "";
    position: absolute;
    height: 4px;
    width: 20%;
    background: #000;
    right: 0;
    bottom:0
}

#info {
    background: rgb(229,229,229);
    background: linear-gradient(90deg, rgba(229,229,229,1) 5%, rgba(244,244,244,1) 75%);
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 0 none
}

#info::after {
    content: "";
    background: #D9C676;
    background: var(--gold-linear);
    height: 10px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

#info .portrait {
    min-height: 360px;
    position: relative;
    background: url('images/diamantentage-martin-kuhn-portait.png') top left / auto 100% no-repeat transparent;
}

#info .portrait .name{
    position: absolute;
    bottom: 2rem;
    left: 3rem;
    font-weight: 500;
    color: #fff;
}

#info q {
    font-size: 1.25rem;
    font-family: 'Abril Display', serif;
}
@media(min-width: 768px){
    #info .portrait {
        min-height: 480px;
        background-position: top center;
    }
    #info q {
        font-size: 1.5rem;
    }
}

@media(min-width: 1280px){
    #info .portrait .name {
        left: 5rem;
    }
}

@media(min-width: 1440px) {
    #info .portrait {
        background-position: top left;
    }
}


#info h2 {
    color:#000
}

.vanilla-calendar {
    border-radius: 0.125rem;
    top: 2.65rem !important;
    left: 0.8rem !important;
    box-shadow: 0 10px 0.625rem rgba(0, 0, 0, 0.05);
    z-index: 100;
}

#appt_form {
    /*background-color: var(--rs-greengrey);*/
    font-size: 1rem;
    padding-top: 2rem;
}

#appt_form .text-box .inner{
    color: #fff;
    padding: 3rem 0 2rem 0;
    position: relative;
}

#appt_form .text-box{
    position: relative;
    /*background: var( --dark-linear);*/
}
#appt_form .text-box .inner::before {
    content: "";
    background: #3b3c40;
    left: -1rem;
    top: 0;
    height: 100%;
    width: calc(100% + 1.75rem);
    position: absolute;
}
#appt_form .text-box .inner .copy {
    position: relative;
    z-index: 1;
}

#appt_form .form-box {
    padding: 3rem 1rem 0;
    margin: 3rem 0 0 0;
    background-color: #fff;
    position: relative;
    box-shadow: 0 1.875rem 3.75rem -0.9375rem rgba(0, 0, 0, 0.25);
}

#appt_form .form-box::after {
    content: "";
    background: #D9C676;
    background: var(--gold-linear);
    height: 10px;
    width: 100%;
    position: absolute;
    left: 0;
}


#appt_form .form-check-label {
    font-size: 0.875rem;
}
#appt_form .form-check-label a:hover{
    color:var(--rs-gold)
}

#appt_form p b {
    color:var(--rs-gold)
}

#appt_form .termine p b {
    color:#000
}

#appt_form .nextevent .day {
    color:var(--rs-yellowGold)
}

#appt_form .nextevent .location {
    display: inline-block;
}
#appt_form .nextevent p b {
    color: currentColor;
}

#appt_form table a:hover {
    color:var(--rs-gold)
}

table tr td {
    padding-right: 0.5rem;
}

table {
    font-size: 0.875rem;
    min-width: 60%;
}
table tr td:first-child{
    vertical-align: top;
}
@media(min-width: 1024px){
    #appt_form .text-box .inner::before {
        width: calc(100% + 4rem);
    }
}
@media(min-width: 1440px){
    table tr td {
        padding-right: 1rem;
    }
    table tr td:first-child{
        width: 120px;
        vertical-align: top;
    }
    #appt_form .text-box{
        background: transparent;
    }
    #appt_form .text-box .inner {
        padding: 3rem 0 2rem 1.5rem;
    }
    #appt_form .form-box {
        padding: 3rem 3rem 0;
    }
}

.btn {
    border-radius: 1px;
    text-transform: uppercase;
    font-size: 0.875rem;
    text-decoration: none;
    padding: 0.75rem 2.25rem;
    min-width: 10.75rem;
    display: inline-block;
    text-align: center;
    border: 2px solid #4E4946;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    margin-bottom: 0.5rem;
}

.btn-rs-default {
    background-color: var(--rs-gold);
    color: #fff;
    border: 2px solid var(--rs-gold);
}

.btn-rs-default:hover{
     color: var(--rs-gold);
     border:2px solid  var(--rs-gold);
}

#footer {
    background-color: #4E4946;
    padding: 0.5rem 0 1rem;
}

#footer p {
    color: #fff;
    font-size: 14px;
    margin-top: 1rem;
}

@media (max-width: 768px) {
    #footer p {
        line-height: 28px;
        padding-bottom: 2rem;
    }
}

#footer p a {
    text-decoration: none;
}
#footer p a:hover {
    color: var(--rs-gold);
    text-decoration: underline;
}

.square {
    width:1rem;
    height: 1rem;
    display: inline-block;
    margin-right: 8px;
    top: 4px;
    position: relative;
    border-radius: 4px;
}
.square-1 {
    background-color:#4ac49e;
}
.square-2 {
    background-color: var(--ui-red)
}


td .btn {
    padding: 0 6px;
}

.legend {
    font-size: 14px;
}
.pipe {
    display: inline-block;
    width: 1rem;
    text-align: center;
}

.closing-days ul li{
    color: var(--ui-red)
}

.modal-body{
    padding: 1rem 2rem 2rem;
}
.modal-header {
    border-bottom:0 none;
}

#client_details ul {
    padding: 0;
    list-style: none;
}

#btn_cancel_client {
    display:none
}

.btn-text-only {
    background-color: #fff;
    border: 0 none;
    padding: 0;
}

#admin_date {
    text-align: left;
    width: 116px;
    background: #48c39d;
    color: #fff;
    font-weight: 700;
    margin-right: 12px;
    float: left;
}

.btn-rs-gold {
    background-color: var(--rs-gold);
    color:#fff;
    border:2px solid var(--rs-gold);
}

.btn-rs-gold:hover{
    color:var(--rs-gold);
    border:2px solid var(--rs-gold);
}

.closing-days {
    margin-bottom: 1em;
}

.brandlogo {
    max-height: 4rem;
}

#navbarNav ul.page-home a.home,
#navbarNav ul.page-settings a.settings,
#navbarNav ul.page-accounts a.accounts {
    color:#fff
}

#navbarNav ul.page-home a.home::after,
#navbarNav ul.page-settings a.settings::after,
#navbarNav ul.page-accounts a.accounts::after {
    background: var(--rs-yellowGold);
    width: 100%;
}

.btn-group-vertical > .btn, .btn-group > .btn:not(.btn-secondary) {
    /*background-color: #5454ff;*/
    border: 0 none;
}

.box-ui {
    padding: 32px;
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0 1rem 2rem -0.5rem rgba(0, 0, 0, 0.10)
}

.swal-text {
    text-align: center;
}

.swal-content__a[href^="tel:"]{
    text-decoration: none;
    font-size: 1.5rem;;
}

.btn.btn-light{
    background-color: #82adf4;
    color: #fff;
    font-weight: 700;
    font-size: 17px;

}
.nav-pills .nav-link {
    color: #689ef8;
}
.btn.btn-secondary:hover {
    background-color: #689ef8;
}
.nav-pills .nav-link.active,
.btn.btn-secondary {
    background-color: #4e8ffa;
    box-shadow: none;
    border: 0 none;
}

.btn.btn-success:hover{
    background-color: #9f63db;
}
.btn.btn-success{
    background-color: #9150c9;
    border-color: #9150c9;
}

.alert{
    --bs-alert-border-radius: 15px;
}
.alert-success {
    --bs-alert-color: #0f5132;
    --bs-alert-bg: #48c39d;
    --bs-alert-border-color: #31866b;
    color: #fff;
    font-weight: 500;
}

.btn-close {
    float: right;
    margin-left: auto;
    color: #fff;
}



#services-input .just-validate-error-label {
    margin-top: -0.8rem;
    margin-bottom: 0.5rem;
}

.just-validate-error-label {
    color: var(--ui-red) !important;
    margin-top: 6px;
}

.font-serif {
    font-family: "Abril Display", serif;
    font-weight: 400;
}

.headline_dash {
    position: relative;
}
.headline_dash::after {
    content: "";
    position: absolute;
    left: -2.75rem;
    bottom: 1.0625rem;
    width: 2.125rem;
    height: 0.125rem;
    background-color: currentColor;
}

.swal-text {
    font-size: 18px;
}

#source-sonstiges-custom {
    background: none;
    border: 0 none;
    border-bottom: 1px solid;
    border-radius: 0;
}


#avappt{
    font-size: 14px;
    color: #4ac49e;
}

#avappt .spinner-grow{
    background-color: #4ac49e;
    top: 2px;
    position: relative;
    left: 2px;
}

#loadericon {
    opacity: 0;
    position: relative;
}

#loadericon.act::before{
    content: "";
    background: transparent;
    width: 280px;
    height: 55px;
    position: absolute;
    top: 0;
    cursor: wait;
}

.lds-dual-ring {
    display: inline-block;
    width: 42px;
    height: 42px;
    margin-right: 20px;
    padding-top: 2px;
    float: right;
}
.lds-dual-ring:after {
    content: " ";
    display: block;
    width: 36px;
    height: 36px;
    margin: 8px;
    border-radius: 50%;
    border: 4px solid var(--rs-gold);
    border-color: var(--rs-gold) transparent var(--rs-gold) transparent;
    animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

select:disabled{
    color: #6c757d;
    opacity: 1;
    background-image:none
}
