:root {
    --redavf_backgroundLight: #f7f6f5;
    --redavf_backgroundDark: #ebe8e4;
    --redavf_textColor: #515248;
    --redavf_black: #000000;
    --redavf_white: #ffffff;
}


 /* * {
    border: 1px solid red !important;
} */

@font-face {
    font-family: 'Nirmala';
    src: url('../font/Nirmala.ttf');
}

* {
    font-family: "Roboto", sans-serif !important;
    font-family: 'Nirmala' !important;
}

body {
    background-color: var(--redavf_backgroundLight);
    hyphens: auto;
}


/* ==================== ScrollBar - Anfang ==================== */

::-webkit-scrollbar {
    background-color: var(--redavf_backgroundLight);
    width: 14px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background-color: var(--redavf_backgroundLight);
}

::-webkit-scrollbar-thumb {
    background-color: var(--redavf_backgroundDark);
    border-radius: 0px;
    /*-webkit-box-shadow: 1px 1px 10px 1px rgba(84, 84, 84, 1);
    -moz-box-shadow: 1px 1px 10px 1px rgba(84, 84, 84, 1);
    box-shadow: 1px 1px 10px 1px rgba(84, 84, 84, 1);*/
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--redavf_textColor);
    border-radius: 0px;
    box-shadow: none;
}

/* ==================== ScrollBar - Ende ==================== */



/* ==================== Text-Markieren - Anfang ==================== */

::selection {
    background: var(--redavf_textColor);
    color: var(--redavf_backgroundLight);
}

::-moz-selection {
    background: var(--redavf_textColor);
    color: var(--redavf_backgroundLight);
}

/* ==================== Text-Markieren - Ende ==================== */

/* ==================== Linie im Hintergrund - Anfang ==================== */

.background-image {
    position: fixed;
    top: 9.5rem;
    left: 5.5rem;
    width: 100vw;
    height: 100vh;
    transform: scale(0.64);
    z-index: -1;
}

/* ==================== Linie im Hintergrund - Ende ==================== */

/* ==================== Fragezeichen im Hintergrund - Anfang ==================== */

.frage-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0.3);
    z-index: 0;
}

/* ==================== Fragezeichen im Hintergrund - Ende ==================== */

/* ==================== Header - Anfang ==================== */

#header {
    background-color: var(--redavf_backgroundLight);
    color: var(--redavf_textColor);
}

#content {
    min-height: calc(100vh - 77px);
}

/* ==================== Header - Ende ==================== */

hr {
    border-top: 2px solid var(--redavf_textColor);
    width: 10rem;
    margin-left: 0;
}


/* ======================= Card für Leistungen - Anfang ======================= */
div.card {
    background-color: transparent;
    border-color: transparent;
    color: var(--redavf_textColor);
    font-size: medium;
    /* width: 18rem;
    height: 8rem; */

    img {
        position: relative;
        object-fit: cover;
        width: 100%;
        height: 6rem;
        top: 0;
        left: 0;
        opacity: 1;
    }

    h2 {
        position: absolute;
        top: 16px;
        left: 24px;
        color: var(--redavf_backgroundLight);
    }

    ul {
        margin: 0%;
    }
}

.card-body {
    padding: 0%;
}

.card-img, .card-img-top {
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius);
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
}

button.card-body {
    border: none;
    background-color: transparent;
    text-align: left;
}

#cardButton1,
#cardButton2,
#cardButton3,
#cardButton4,
#cardButton5 {
    border: none;
    background-color: transparent;
}

#cardButton1:hover,
#cardButton2:hover,
#cardButton3:hover,
#cardButton4:hover,
#cardButton5:hover {
    box-shadow: 2px 7px 15px -8px rgba(0, 0, 0, 0.75);
    transition: all ease-in 150ms;
}

/* ======================= Card für Leistungen - Ende ======================= */



/* ======================= Carousel für Referenzen - Anfang ======================= */
.carousel-control-prev {
    rotate: 180deg;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    /* color: var(--redavf_textColor) !important; */
    background-color: transparent;
    background-image: none;
    scale: 0.5;
}

.carousel-control-next,
.carousel-control-prev {
    width: 0% !important;
}

.carousel-item {
   min-height: calc(100vh - 85px) !important;
   width: 100%;
   padding-left: 4%;
   /* padding-right: 7%; */
}

#referenzen2 {
    img {
        max-width: 100%;
        height: auto;

      }
}

.center {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

.modal-header {
    border-bottom-style: none !important;
    padding: 1rem 2rem 0rem 2rem !important;
}

.modal-body {
    padding: 0rem 2rem 2rem 2rem;
}

.refbilder {
    display: flex;
    justify-content: center;
}

/* ======================= Carousel für Referenzen - Ende ======================= */



/* ======================= Main Accordion - Anfang ======================= */
.accordion {
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem transparent;
    --bs-accordion-active-color: transparent;
    --bs-accordion-active-bg: transparent;
}

.accordion-button {
    color: var(--redavf_textColor);
    font-size: 44pt;
    display: flex;
    padding: 0;
    /* height: 25px; */
    height: auto;
    background-color: var(--redavf_backgroundLight);
    border-bottom: var(--redavf_backgroundLight);
    width: auto;
}

.accordion-button::after {
    display: none !important;
}

.accordion-item {
    border: none;
    background-color: transparent;
}

.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
    border-bottom-right-radius: var(--bs-accordion-inner-border-radius) !important;
    border-bottom-left-radius: var(--bs-accordion-inner-border-radius) !important;
}

.accordion-body {
    color: var(--redavf_textColor);
    font-size: large;
    min-height: calc(100vh - 85px);
    background-color: var(--redavf_backgroundLight);
    /* padding-top: 50px; */
    position: relative;
    /* overflow: hidden; */
}

.accordion [aria-expanded~=true] {
    color: var(--redavf_textColor);
    text-decoration: none;
}

.accordion-button:not(.collapsed) {
    color: var(--redavf_textColor);
    background-color: var(--redavf_backgroundLight);
    box-shadow: none;
    padding-top: 45px !important;
}

.accordion button span {
    padding: 2px 8px;
    font-weight: bold;
}

.accordion .accordion-button:not(:disabled):not(.disabled):hover span {
    background: var(--redavf_backgroundDark);
    color: var(--redavf_textColor);
    transition: linear all 0.05s;
    text-decoration: none;
    font-style: italic;
}


/* ======================= Main Accordion - Ende ======================= */



/* ======================= accordionFrage für häufige Fragen - Anfang ======================= */
.accordion-frage .accordion {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-bg: var(--redavf_backgroundLight);
    --bs-accordion-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, border-radius 0.15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: var(--bs-border-width);
    --bs-accordion-border-radius: var(--bs-border-radius);
    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: var(--bs-body-color);
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--bs-primary-text-emphasis);
    --bs-accordion-active-bg: var(--redavf_backgroundLight)
}

.accordion-frage .accordion-button {
    color: var(--redavf_textColor) !important;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size: 24px;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: var(--redavf_backgroundLight);
    border: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition);
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.accordion-frage .accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition)
}

.accordion-frage .accordion-item {
    border: none;
    border-radius: 0 !important;
    /* background-color: var(--redavf_backgroundLight); */
    border-bottom: solid var(--redavf_textColor);
}

.accordion-frage .accordion-body {
    color: var(--redavf_textColor);
    font-size: large;
    min-height: auto !important;
    background-color: var(--redavf_backgroundLight);
    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)
}

.accordion-frage .accordion [aria-expanded~=true] {
    color: var(--redavf_textColor);
    text-decoration: none;
}

.accordion-frage .accordion-button:not(.collapsed) {
    color: var(--redavf_textColor);
    /* background-color: transparent; */
    box-shadow: none;
}

.accordion-frage .accordion button span {
    padding: 2px 8px;
    font-weight: bold;
}

.accordion-frage .accordion .accordion-button:not(:disabled):not(.disabled):hover span {
    background: var(--redavf_backgroundDark);
    color: var(--redavf_textColor);
    transition: linear all 0.05s;
    text-decoration: none;
    font-style: italic;
}

/* ======================= accordionFrage für häufige Fragen - Ende ======================= */



/* =================== Projektanfrage - Anfang ==================== */

.anfrage {
    display: flex;
    justify-content: center;
}

/* =================== Projektanfrage - Ende ==================== */



/* ======================== Form Element für Kontakformular - Anfang ======================= */

.FormElement {
    display: flex;
    justify-content: end;
}

.form-control {
    border: 2px solid var(--redavf_textColor);
}

.form-select {
    border: 2px solid var(--redavf_textColor);
}

.form-control:hover,
.form-select:hover {
    box-shadow: 0px 0px 7px var(--redavf_textColor);
    transition: all ease-in 150ms;
}

#anrede,
#thema {
    font-family: 'Nirmala';
    color: var(--redavf_textColor);
}

#anrede:hover,
#thema:hover {
    cursor: pointer;
}

#ContactButton {
    border: 2px solid var(--redavf_textColor);
    font-size: large;
    color: var(--redavf_textColor);
}

#ContactButton:hover {
    box-shadow: 2px 7px 15px -8px rgba(0, 0, 0, 0.75);
    transition: all ease-in 150ms;
    background-color: var(--redavf_backgroundDark);
}

label {
    /* width:180px; */
    /* clear:left; */
    /* text-align:right; */
    padding-right:10px;
    font-size: medium;
}

input, label {
    float:left;
}

#checkbox {
    width: 50px;
    height: 50px;
}

#checkbox:hover {
    cursor: pointer;
}

/* ======================== Form Element für Kontakformular - Ende ======================= */



/* ================== Footer 1 - Anfang ===================== */

#impressum {
    background-color: var(--redavf_backgroundDark);
    color: var(--redavf_textColor);
    padding-top: 40px;
    padding-bottom: 20px;
}

.impressi-btn {
    color: var(--redavf_textColor);
    font-size: larger;
    /* width: 100%; */
    /* float: right; */
    border: 2px solid var(--redavf_backgroundDark);
}

.impressum-bild {
    display: block;
    margin-left: auto;
    margin-right: auto;
    /* height: 100%;
    width: auto; */
}

.datenschutz-btn {
    color: var(--redavf_textColor);
    font-size: larger;
    /* width: 100%; */
    /* float: left; */
    border: 2px solid var(--redavf_backgroundDark);
}

.btn-datenschutz {
    padding: 0%;
    color: var(--redavf_textColor);
    text-decoration: underline;
    vertical-align: unset !important;
    font-weight: 200;
}

#impressum button:hover {
    border: 2px solid var(--redavf_textColor);
}

.modal-open {
    padding-right: 0 !important;
}

html {
    overflow-y: auto !important;
}

.modal-content {
    display: grid;
}


.btn-close {
    justify-self: end;
    padding: 5px;
    margin: 10px;
    border: 2px solid var(--redavf_backgroundLight);
}

/* ================== Footer 1 - Ende ===================== */



/* ================== Footer 2 - Anfang ===================== */

#footer {
    width: 100%;
    height: 40px;
    line-height: 40px;
    background-color: var(--redavf_backgroundDark);
    color: var(--redavf_textColor);
}

#footer .card_footer {
    width: 100%;
    height: 40px;
    transition: transform 1s;
    position: relative;
    background: var(--redavf_backgroundDark);
    margin: 0 auto;
}

#footer .card_face {
    position: absolute;
    width: 100%;
    height: 40px;
    line-height: 40px;
    color: var(--redavf_textColor);
    text-align: center;
    background: var(--redavf_backgroundDark);
}

/* ================== Footer 2 - Ende ===================== */



/* ================== Link Circling Effect - Anfang ===================== */

p a {
    color: var(--redavf_textColor);
    padding: 0px;
    border: none;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    position: relative;
    /*margin: 0 var(--spacing, 0px);
    transition: margin 0.25s;*/
}

p a svg {
    width: 228px;
    height: 120px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 7px) translateZ(0);
    fill: none;
    /*stroke: var(--stroke, var(--line));*/
    stroke-linecap: round;
    /*stroke-width: 2px;*/
    stroke-dasharray: var(--offset, 69px) 278px;
    stroke-dashoffset: 361px;
    transition: stroke 0.25s ease var(--stroke-delay, 0s), stroke-dasharray 0.35s;
}

p a:hover {
    /* --spacing: 4px; */
    /*--stroke: var(--line-active);*/
    --stroke-delay: 0.1s;
    --offset: 180px;

    background-color: transparent;
    border: none;
    border-radius: none;
    padding: 0px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
}

#pfeil {
    display: inline-block;
    rotate: 90deg;
}

/* ================== Link Circling Effect - Ende ===================== */



/* ================== Kreuze als Listenpunkte - Anfang ==================== */

ul {
list-style-image: disc;
}

/*=================== Kreuze als Listenpunkte - Ende ====================*/



/* ==================== ToTop Button - Anfang ==================== */

#myBtn {
    color: var(--redavf_textColor);
    background-color: var(--redavf_backgroundLight);
    border: 3px solid var(--redavf_textColor);
    border-radius: 10px;
    /* text-align: center; */
    text-decoration: none;
    /* display: inline-block; */
    cursor: pointer;
    /* display: none;
    Hidden by default */
    position: fixed;
    /* Fixed/sticky position */
    bottom: 1px;
    /* Place the button at the bottom of the page */
    right: 1px;
    /* Place the button 30px from the right */
    z-index: 99;
    /* Make sure it does not overlap */
    padding: 1.5rem 1.5rem;
    /* Some padding */
    /* font-size: 30px; */
    /* font-weight: normal !important; */
    scale: 0.5;
    rotate: 270deg !important;
}

#myBtn:hover {
    background-color: var(--redavf_backgroundDark);
    /* Add a dark-grey background on hover */
}

/* ==================== ToTop Button - Ende ==================== */



/* ======== scrolling mouse animation ===== */
.scroll-downs {
  margin: auto;

  width :34px;
  height: 55px;
}
.mousey {
  width: 3px;
  padding: 10px 15px;
  height: 35px;
  border: 3px solid #515248;
  border-radius: 25px;
  opacity: 0.75;
  box-sizing: content-box;
}
.scroller {
  width: 3px;
  height: 10px;
  border-radius: 25%;
  background-color: var(--redavf_textColor);
  animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(.15,.41,.69,.94);
  animation-iteration-count: infinite;
}
@keyframes scroll {
  0% { opacity: 0; }
  10% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(15px); opacity: 0;}
}

/* scrolling mouse - ende */

/* ====== darkmode button - anfang ====== */
/* Button-Stil */
.dark-toggle {
  position: absolute;
  top: 1rem;
  right: 3rem;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1000;
}

/* Standardmodus (Hell) */
body,
#header,
#impressum,
.accordion-button,
.accordion-body,
.scroller,
.impressi-btn,
.datenschutz-btn {
  transition: background-color 0.4s ease;
}

/* Darkmode */
body.darkmode {
  background-color: var(--redavf_textColor);
  color: var(--redavf_backgroundLight);
}

body.darkmode #header {
  background-color: var(--redavf_textColor);
  color: var(--redavf_backgroundLight);
}

/* body.darkmode #footer {
  background-color: var(--redavf_textColor);
  color: var(--redavf_backgroundLight);
} */

body.darkmode #impressum {
  background-color: var(--redavf_textColor);
  color: var(--redavf_backgroundLight);
}

body.darkmode .accordion-button,
body.darkmode .accordion-body {
  background-color: var(--redavf_textColor);
  color: var(--redavf_backgroundLight);
}

body.darkmode .accordion-frage .accordion-item {
    border: none;
    border-radius: 0 !important;
    /* background-color: var(--redavf_backgroundLight); */
    border-bottom: solid var(--redavf_backgroundLight);
}


body.darkmode #ContactButton {
  background-color: var(--redavf_backgroundLight);
  color: var(--redavf_textColor);
  border-color: var(--redavf_backgroundLight);
}

body.darkmode #ContactButton:hover {
  box-shadow: 2px 7px 15px -8px white;
}

body.darkmode .path {
  stroke: var(--redavf_backgroundLight);
}

body.darkmode .links,
body.darkmode .card-content,
body.darkmode .pfeil,
body.darkmode .accordion-button,
body.darkmode .lenk {
    color: var(--redavf_backgroundLight) !important;
}

body.darkmode .impressi-btn,
body.darkmode .datenschutz-btn {
    color: var(--redavf_backgroundLight) !important;
    border-color: var(--redavf_textColor);
}

body.darkmode .btn-close {
    border-color: var(--redavf_textColor);
}

body.darkmode .btn-close:hover {
    border-color: var(--redavf_backgroundLight) !important;
}

body.darkmode .impressi-btn:hover,
body.darkmode .datenschutz-btn:hover {
    border-color: 2px solid var(--redavf_backgroundLight) !important;
}

body.darkmode .mousey {
    border-color: var(--redavf_backgroundLight);
}

body.darkmode .scroller {
    background-color: var(--redavf_backgroundLight);
}

body.darkmode #path1 {
    fill: var(--redavf_backgroundLight) !important;
}

body.darkmode #path2 {
    stroke: var(--redavf_backgroundLight) !important;
}

body.darkmode .datenschutzhinweise {
    color: var(--redavf_backgroundLight);
}

body.darkmode .modal-content {
    background-color: var(--redavf_textColor);
}

body.darkmode ul {
    list-style-image: none !important;
    list-style-type: disc !important;
    color: var(--redavf_backgroundLight) !important;
}

/* ====== darkmode button - ende ====== */