@import 'jr_constants.css';
@import 'jr_fonts.css';
@import 'jr_navigation.css';
@import 'jr_email-contact.css';


.text-primary {
    color: var(--primary-dark) !important;
}

.btn-bd-primary {
    border-radius: 40px;
    padding-left: 20px;
    padding-right: 20px;
    --bs-btn-font-weight: 400;
    --bs-btn-font-size: 22px;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-color: var(--bs-dark);

    --bs-btn-hover-bg: #{shade-color($bd-violet, 10%)};
    --bs-btn-hover-border-color: #{shade-color($bd-violet, 10%)};
    --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: #{shade-color($bd-violet, 20%)};
    --bs-btn-active-border-color: #{shade-color($bd-violet, 20%)};
}

.btn-bd-dark {
    border-radius: 40px;
    padding-left: 20px;
    padding-right: 20px;
    --bs-btn-font-weight: 400;
    --bs-btn-font-size: 22px;
    --bs-btn-color: var(--bs-white);
    /* --bs-btn-bg: var(--primary-light); */
    --bs-btn-border-color: var(--bs-white);
    --bs-btn-hover-color: var(--bs-dark);

    --bs-btn-hover-bg: #{shade-color($bd-violet, 10%)};
    --bs-btn-hover-border-color: #{shade-color($bd-violet, 10%)};
    --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: #{shade-color($bd-violet, 20%)};
    --bs-btn-active-border-color: #{shade-color($bd-violet, 20%)};
}

body {
    font-family: var(--font-default), sans-serif;
    font-weight: var(--font-default-weight);
    font-style: var(--font-default-style);
    font-size: var(--font-default-size);
    line-height: var(--font-default-line-height);
    color: var(--bs-gray-800);
}

@media screen and ( min-width: 768px ) {
    body { font-size: 22px;}
}
@media screen and ( min-width: 992px ) {
    body { font-size: 24px;}
}
@media screen and ( min-width: 1200px ) {
    body { font-size: 26px;}
}

.py-lg {
    padding: 5em 0;
}

.mb-lg {
    margin-bottom: 5em;
}

.oregano-regular {
    font-family: "Oregano", cursive;
    font-weight: 400;
    font-style: normal;
}

.oregano-regular-italic {
    font-family: "Oregano", cursive;
    font-weight: 400;
    font-style: italic;
}

/*  Formatierung für Teaser */
.teaser {
    font-size: 1.4em;
    line-height: 1.2;
    font-weight: 400;
}

/* --- Display --- */
.display {
    font-family: var(--font-display), sans-serif;
    font-optical-sizing: auto;
    font-style: var(--font-display-style);
    line-height: var(--font-display-line-height);
    color: var(--primary);
}

.display strong {
    font-weight: 700;
}

.display-lg {
    font-size: var(--font-display-size-lg);
    line-height: 0.8;
}
.display-md {
    font-size: var(--font-display-size-md);
}
.display-sm {
    font-size: var(--font-display-size-sm);
}

.display-xs {
    font-size: var(--font-display-size-xs);
}


@media ( min-width: 1200px ) {
    .display-lg { font-size: calc(var(--font-display-size-lg) * 1.75); }
    .display-md { font-size: calc(var(--font-display-size-md) * 1.75); }
    .display-sm { font-size: calc(var(--font-display-size-sm) * 1.25); }
    .display-xs { font-size: calc(var(--font-display-size-xs) * 1.10); }
}

strong {
    font-weight: 700;
}

h1, h2 {
    font-weight: 700;
}
h1 small {
    font-size: 0.75em;
}

/*  --- Header --- */
header {
    background: rgb(255,255,255);
    /*
    border-bottom: 1px solid var(--dark);
    margin-bottom: 4em; */
}

/* --- Display Logo on top of the page -- */
.logo {
    max-width: 240px;
}

.logo img {
    max-width: 100%;
}

@media ( min-width: 576px) {
    .logo { max-width: 320px; }
}

/* --- Display contact data in header -- */
.contact {
    text-align: right;
    font-size: 1.4em;
    line-height: 1;
}
.contact a {
    text-decoration: none;
    color: var(--primary);
    transition: 250ms all;
    display: inline-block;
    padding: 5px;
    background: linear-gradient(#C6A55A 0 0) var(--p, 0) / var(--p, 0) no-repeat;
    transition: .4s, background-position 0s;
}
.contact a:hover {
    --p: 100%;
    color: #fff;
}




/* --- Scroll to top button -- */
#btn-back-top-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
}

/* --- Services --- */
.services {
    font-size: 1.2em;
}
.services i {
    color: var(--primary);
    margin-right: 1em;
}
.services li {
    margin-bottom: 0.5em;
}

/*  --- IconBox --- */
.iconbox {
    display: flex;
    flex-direction: row;
    font-size: 1.1em;

    background: var(--light);
    color: var(--light-text);
    padding: 0.5em 1em;
    border-radius: 1em;
}

.iconbox i {
    flex-shrink: 0;
    color: var(--primary);
    margin-bottom: .2em;
    font-size: 3em;
    width: 80px;
}

/*  --- Footer --- */
footer {
    background-color: var(--footer-background-color);
    color: var(--dark-text);
    padding: var(--footer-padding-value) 0;
    line-height: 1.5;
}

footer a {
    text-decoration: none;
    color: var(--footer-link-color);
    transition: all 250ms;
}
footer a:hover {
    color: var(--footer-link-hover-color);
}

footer .credit {
    margin-top: var(--footer-padding-value);
    margin-bottom: var(--footer-padding-value);
    font-size: var(--footer-credit-font-size);
}

/* --- Media Gallery --- */
.media-gallery ul {
    margin: 0 -5px;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
}

.media-gallery li {
    padding: 5px 5px 5px 5px;
    max-width: 50%;
}

@media only screen and ( min-width: 768px ) {
    .media-gallery li {
        max-width: 33%;
    }
}


/*  Textbox mit Bild
    ---------------------------------------------------------- */
.textbox {
    position: relative;
}
.textbox-image {
    position: relative;

}
.textbox-body {
    position: relative;
    background: var(--primary);
    color: var(--bs-white);
    padding: 1em;
}

@media screen and ( min-width: 1200px ) {
    .textbox {
        display: flex;
        align-items: center;
        width: 1420px;
    }
    .textbox-body {
        width: 64%;
        margin-left: -100px;
        padding: 4em 4em 4em 8em;
    }
    .textbox-image {
        width: 36%;
    }
    .textbox-image-inner {
        position: relative;
        z-index: 2;
    }
}


.text-image {
    display: flex;
    align-items: center;
}

.text-image .image { width: 40%; flex: 40% 0 0; margin: 0 20px; }
.image-left .image {order: 1;}
.image-left .text {order: 2;}

div svg { width: 400px; max-width: 400px; }
#background rect { fill: transparent; }
path { fill: var(--primary) !important; }



/**  Images
  */
.copyright {
    font-size: var(--figcaption-copyright-size);
}
.copyright a {
    text-decoration: none;
    color: var(--primary);
}