@charset "UTF-8";
.contao-cookiebar {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
  font-size: 0;
  letter-spacing: 0;
  text-align: center;
  padding: 15px;
  max-height: 100vh;
  box-sizing: border-box;
  pointer-events: none;
  overflow: hidden; }
  .contao-cookiebar * {
    box-sizing: border-box; }
  .contao-cookiebar:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }
  .contao-cookiebar .cc-inner {
    display: inline-block;
    overflow-y: auto;
    max-height: 100%;
    max-width: 100%;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    font-size: 1rem;
    text-align: left; }
  .contao-cookiebar.cc-top .cc-inner {
    vertical-align: top; }
  .contao-cookiebar.cc-top.cc-active .cc-inner {
    animation: cookiebar-top-in 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-top.cc-saved .cc-inner {
    animation: cookiebar-top-out 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-bottom .cc-inner {
    vertical-align: bottom; }
  .contao-cookiebar.cc-bottom.cc-active .cc-inner {
    animation: cookiebar-bottom-in 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-bottom.cc-saved .cc-inner {
    animation: cookiebar-bottom-out 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-middle .cc-inner {
    vertical-align: middle; }
  .contao-cookiebar.cc-middle.cc-active .cc-inner {
    animation: cookiebar-middle-in 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-middle.cc-saved .cc-inner {
    animation: cookiebar-middle-out 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-left {
    text-align: left; }
  .contao-cookiebar.cc-right {
    text-align: right; }
  .contao-cookiebar .cc-head h1:first-child, .contao-cookiebar .cc-head h2:first-child, .contao-cookiebar .cc-head h3:first-child, .contao-cookiebar .cc-head h4:first-child, .contao-cookiebar .cc-head h5:first-child, .contao-cookiebar .cc-head h6:first-child {
    margin-top: 0; }
  .contao-cookiebar .cc-head p {
    margin-bottom: 15px; }
  .contao-cookiebar .cc-btn {
    display: inline-block;
    cursor: pointer;
    width: 100%;
    padding: 8px 14px;
    margin-bottom: 8px;
    font-size: 15px;
    outline: 0 none;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    color: #444;
    background: #f5f5f5; }
    .contao-cookiebar .cc-btn:hover {
      background: #ececec; }
    .contao-cookiebar .cc-btn:last-child {
      margin-bottom: 0; }
  .contao-cookiebar .grayscale .cc-btn {
    background: #f1efef; }
    .contao-cookiebar .grayscale .cc-btn:hover {
      background: #ececec; }
    .contao-cookiebar .grayscale .cc-btn.success {
      background: #fbfbfb; }
      .contao-cookiebar .grayscale .cc-btn.success:hover {
        background: #f7f7f7; }
  .contao-cookiebar .highlight .cc-btn.success {
    background: #4e9e3e;
    border-color: #3e7830;
    color: #fff; }
    .contao-cookiebar .highlight .cc-btn.success:hover {
      background: #4c933f; }
  .contao-cookiebar label {
    position: relative;
    display: block;
    padding: 8px 13px 8px 0;
    line-height: 1.2rem; }
    .contao-cookiebar label.group {
      font-weight: 600; }
  .contao-cookiebar input {
    position: absolute;
    width: 1px;
    height: 1px;
    outline: 0 none;
    opacity: 0; }
    .contao-cookiebar input + label {
      padding: 8px 13px 8px 50px;
      cursor: pointer; }
      .contao-cookiebar input + label:before {
        content: '';
        position: absolute;
        top: 6px;
        left: 0;
        width: 35px;
        height: 18px;
        margin: 0;
        box-sizing: content-box;
        border-radius: 10px;
        background: #fff;
        border: 2px solid #9c9b99;
        transition: border-color .2s; }
      .contao-cookiebar input + label:after {
        display: block;
        content: '';
        position: absolute;
        top: 10px;
        left: 4px;
        width: 14px;
        height: 14px;
        border-radius: 10px;
        background: #9c9b99;
        transition: background .2s, margin-left .2s, padding .2s; }
      .contao-cookiebar input + label:active:after {
        padding-left: 5px; }
    .contao-cookiebar input.cc-group-half + label:after {
      background: linear-gradient(to right, #9c9b99 0%, #9c9b99 50%, #399d32 50%, #399d32 100%); }
    .contao-cookiebar input:checked + label:after {
      background: #399d32;
      margin-left: 17px; }
    .contao-cookiebar input:checked + label:active:after {
      margin-left: 12px; }
    .contao-cookiebar input:checked + label:before {
      background: #dcf3db;
      border-color: #399d32; }
    .contao-cookiebar input:disabled + label {
      pointer-events: none; }
      .contao-cookiebar input:disabled + label:after {
        background: #c8c7c5; }
      .contao-cookiebar input:disabled + label:before {
        background: #f4f4f4;
        border-color: #c8c7c5; }
  .contao-cookiebar.cc-active .cc-inner {
    opacity: 1;
    pointer-events: auto;
    visibility: visible; }
  .contao-cookiebar.cc-active.cc-blocked {
    pointer-events: auto;
    animation: cookiebar-overlay-in 0.5s ease-in-out forwards; }
  .contao-cookiebar.cc-saved.cc-inner {
    opacity: 0;
    pointer-events: none;
    visibility: hidden; }
  .contao-cookiebar.cc-saved.cc-blocked {
    pointer-events: none;
    animation: cookiebar-overlay-out 0.5s ease-in-out forwards; }

@media (min-width: 768px) {
  .contao-cookiebar .cc-btn {
    width: auto;
    margin-bottom: 0; }
  .contao-cookiebar .cc-inner {
    max-width: 750px; } }

@keyframes cookiebar-overlay-in {
  0% {
    background: rgba(0, 0, 0, 0); }
  100% {
    background: rgba(0, 0, 0, 0.75); } }

@keyframes cookiebar-overlay-out {
  0% {
    background: rgba(0, 0, 0, 0.75); }
  100% {
    background: rgba(0, 0, 0, 0);
    visibility: hidden; } }

@keyframes cookiebar-top-in {
  0% {
    opacity: 0;
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes cookiebar-top-out {
  0% {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%); } }

@keyframes cookiebar-middle-in {
  0% {
    opacity: 0;
    transform: scale(0); }
  100% {
    opacity: 1;
    transform: scale(1); } }

@keyframes cookiebar-middle-out {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1); }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: scale(0); } }

@keyframes cookiebar-bottom-in {
  0% {
    opacity: 0;
    transform: translateY(100%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes cookiebar-bottom-out {
  0% {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%); } }

.contao-cookiebar {
  color: #444444; }
  .contao-cookiebar p {
    color: #868686;
    line-height: 1.4; }
  .contao-cookiebar .cc-inner {
    padding: 25px;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
    background: #fff; }
  .contao-cookiebar .cc-groups {
    display: none;
    padding-top: 15px; }
    .contao-cookiebar .cc-groups .cc-group {
      position: relative;
      border: 1px solid #d0d0d0;
      border-radius: 5px;
      margin-bottom: 10px;
      text-align: left; }
      .contao-cookiebar .cc-groups .cc-group > label {
        margin: 5px 130px 5px 10px; }
  .contao-cookiebar .cc-cookies {
    background: #fbfbfb;
    border-radius: 0 0 5px 5px; }
    .contao-cookiebar .cc-cookies > p {
      font-size: 0.875rem; }
    .contao-cookiebar .cc-cookies > p, .contao-cookiebar .cc-cookies > .cc-cookie {
      margin: 0;
      padding: 15px;
      border-top: 1px solid #e6e6e6; }
    .contao-cookiebar .cc-cookies .cc-cookie .cc-cookie-info {
      font-size: 0.875rem;
      background: #fff;
      padding: 10px;
      border-radius: 5px;
      border: 1px solid #efefef; }
      .contao-cookiebar .cc-cookies .cc-cookie .cc-cookie-info > div > span {
        font-weight: 600; }
      .contao-cookiebar .cc-cookies .cc-cookie .cc-cookie-info > div + div {
        margin-top: 5px; }
      .contao-cookiebar .cc-cookies .cc-cookie .cc-cookie-info + button.cc-detail-btn-details {
        margin-top: 15px; }
    .contao-cookiebar .cc-cookies .cc-cookie .cc-cookie-desc p {
      margin-bottom: 0; }
    .contao-cookiebar .cc-cookies .cc-cookie label.cookie + p, .contao-cookiebar .cc-cookies .cc-cookie label.cookie + .cc-cookie-info, .contao-cookiebar .cc-cookies .cc-cookie label.cookie + button.cc-detail-btn-details {
      margin-top: 10px; }
    .contao-cookiebar .cc-cookies .cc-cookie p {
      margin: 0 0 15px;
      font-size: 0.875rem; }
  .contao-cookiebar .cc-footer, .contao-cookiebar .cc-info {
    text-align: center; }
  .contao-cookiebar .cc-detail-btn-details {
    border: 0 none;
    outline: 0 none;
    background: transparent;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: initial;
    cursor: pointer;
    color: #a2a2a2;
    text-decoration: underline;
    padding: 0;
    margin: 0 0 10px; }
    .contao-cookiebar .cc-detail-btn-details span:nth-child(2) {
      display: none; }
    .contao-cookiebar .cc-detail-btn-details.cc-active span:nth-child(1) {
      display: none; }
    .contao-cookiebar .cc-detail-btn-details.cc-active span:nth-child(2) {
      display: inline; }
    .contao-cookiebar .cc-detail-btn-details:hover {
      color: #717171; }
  .contao-cookiebar .cc-info {
    margin-top: 15px; }
    .contao-cookiebar .cc-info > p {
      font-size: 0.875rem; }
    .contao-cookiebar .cc-info > a {
      display: inline-block;
      font-size: 0.813rem;
      color: #a2a2a2;
      text-decoration: none; }
      .contao-cookiebar .cc-info > a:hover {
        color: #717171; }
      .contao-cookiebar .cc-info > a + a:before {
        display: inline-block;
        content: '·';
        margin-right: 5px; }

/* vCard.css */
html{/* ==========================================================================   1. RESET & MOBIL-OPTIMIERUNG (Verhindert Minimalskalierung auf Smartphones)   ========================================================================== */  -webkit-text-size-adjust: 100%; /* Verhindert automatisches Verkleinern in Safari/iOS */  box-sizing: border-box;}*, *::before, *::after {  box-sizing: inherit;}body {  margin: 0;  padding: 16px 0;  width: 100%;  min-height: 100vh;  background-color: #999999;  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;  color: #1e293b;  display: flex;  justify-content: center;  align-items: center;}/* Ausblenden aller eventuellen Listenelemente/Bullets */.vcard-card li,.vcard-list li {  display: none !important;}/* ==========================================================================   2. CARD CONTAINER (Flexibel für Mobilgeräte)   ========================================================================== */.vcard-card {  width: 90% !important;        /* Passt sich der Displaybreite auf dem iPhone an */  max-width: 400px !important;  /* Maximalbreite für größere Displays */  margin: 0 auto !important;    /* Zentriert auf dem Bildschirm */  background-color: #ffffff;  border-radius: 20px;  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);  overflow: hidden;}/* ==========================================================================   3. HEADER & PROFILBILD   ========================================================================== */.vcard-header {  height: 110px;  background: linear-gradient(135deg, #607d8b, #455a64);  position: relative;}.vcard-avatar {  position: absolute;  bottom: -40px;  left: 50%;  transform: translateX(-50%);}.vcard-avatar img {  width: 90px;  height: 90px;  border-radius: 50%;  border: 4px solid #ffffff;  object-fit: cover;  background-color: #f1f5f9;}/* ==========================================================================   4. INHALT & TYPOGRAFIE   ========================================================================== */.vcard-content {  padding: 50px 20px 24px;  text-align: center;}.vcard-name {  font-size: 1.8rem; /* Responsive Schriftgröße für Mobilgeräte */  font-weight: 300;  letter-spacing: 0.5px;  margin: 0 0 4px;  color: #2c3e50;  line-height: 1.2;}.vcard-role {  font-size: 0.95rem;  color: #607d8b;  font-weight: 500;  margin: 6px 0 0;}.vcard-company {  font-size: 0.85rem;  color: #94a3b8;  margin: 2px 0 20px;}/* ==========================================================================   5. BUTTON (Auf 90% Breite gesetzt)   ========================================================================== */.vcard-btn-download {  display: flex !important;  align-items: center;  justify-content: center;  gap: 8px;  width: 100% !important;   /* Exakt 90% Breite */  margin: 0 auto 24px auto !important; /* Zentriert */  padding: 14px 16px;  background-color: #607d8b;  color: #ffffff !important;  text-decoration: none;  font-weight: 500;  font-size: 1rem;  border-radius: 12px;  transition: background-color 0.2s ease;  box-sizing: border-box;}.vcard-btn-download:hover {  background-color: #455a64;}.vcard-btn-download svg {  width: 20px;  height: 20px;  fill: #ffffff;  flex-shrink: 0;}/* ==========================================================================   6. KONTAKTDATEN-LISTE (Zentriert)   ========================================================================== */.vcard-list {  display: flex;  flex-direction: column;  gap: 10px;  margin: 0 0 24px;}.vcard-item {  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  gap: 6px;  padding: 12px;  border-radius: 12px;  background-color: #f8fafc;  text-decoration: none;  color: inherit;  transition: background-color 0.2s ease;}.vcard-item:hover {  background-color: #f1f5f9;}.vcard-item svg {  width: 22px;  height: 22px;  stroke: #607d8b;  fill: none;  stroke-width: 2;  stroke-linecap: round;  stroke-linejoin: round;}.vcard-text {  display: flex;  flex-direction: column;  align-items: center;}.vcard-label {  font-size: 0.7rem;  color: #94a3b8;  text-transform: uppercase;  letter-spacing: 0.5px;}.vcard-val {  font-size: 0.95rem;  font-weight: 500;  color: #334155;  word-break: break-word; /* Verhindert Layout-Sprengung bei langen E-Mails */}/* ==========================================================================   7. SOCIAL MEDIA ICONS (SVG Data-URIs als robuster Fallback)   ========================================================================== */.vcard-socials {  display: flex;  justify-content: center;  gap: 16px;  margin-bottom: 24px;}.vcard-socials a {  font-size: 0.0001rem;  width: 44px;  height: 44px;  border-radius: 50%;  background-color: #f8fafc;  background-position: center;  background-repeat: no-repeat;  background-size: 22px 22px;  display: inline-block;  transition: transform 0.2s ease, background-color 0.2s ease;  text-decoration: none;}.vcard-socials a:hover {  background-color: #f1f5f9;  transform: translateY(-2px);}/* Instagram Icon */.vcard-socials .icon-instagram {  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23607d8b'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E");}/* Facebook Icon */.vcard-socials .icon-facebook {  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23607d8b'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");}/* Google Icon */.vcard-socials .icon-google {  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23607d8b'%3E%3Cpath d='M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 15.987 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z'/%3E%3C/svg%3E");}/* Standalone SVG Fallback Style */.vcard-socials svg {  width: 22px;  height: 22px;  fill: #607d8b;}/* ==========================================================================   8. FOOTER   ========================================================================== */.vcard-footer {  font-size: 0.75rem;  color: #94a3b8;  border-top: 1px solid #f1f5f9;  padding-top: 16px;}.vcard-footer a {  color: #607d8b;  text-decoration: none}
