
html {
	height: 100%;
}
body
{
	margin-top: 0px;
	margin-left: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-color:#fff;
	height: 100%;
}

.arial 
{
    font-family: 'Arial', 'Helvetica Neue', Helvetica, sans-serif;
}

.arial.bold 
{
      font-family: 'Arial', 'Helvetica Neue', Helvetica, sans-serif;
      font-weight: bold;
}

.arial.black
{
      font-family: 'Arial Black', 'Helvetica Neue', Helvetica, sans-serif;
      font-weight: 900;
}

.arial-black  
{ 
  font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif !important;
  font-weight: 900;
}

.kindergarten 
{
  font-family: 'Kindergarten', 'Mumpitz', cursive !important;
}

.mumpitz  
{ 
  font-family: 'Kindergarten', cursive !important;
}

.roboto 
{
  font-family: 'Roboto', 'Helvetica Neue', Helvetica, sans-serif !important;
}

section 
{
  border-bottom: 8px solid var(--bs-black);
}


.position-relative:has(a.stretched-link):hover 
{
    transform: scale(1.02);
    background-color: var(--bs-light);
    transition:.3s;
}



/* floating tio and back button */
.floating-links 
{
  position: fixed;
  top: 20px;
  right: 20px;
  transition: opacity 0.3s ease-in-out;
  z-index: 2000;
  border-radius: 6px;
}





#footer { height: auto; }

/* image styles: grayscale but color on mouseOver */

img.hero-img {
  filter: blur(0px) brightness(124%) contrast(156%) grayscale(100%) hue-rotate(0deg) invert(0%) saturate(0%) sepia(0%);
  transition: filter 200ms ease-in-out, box-shadow 200ms ease-in-out;
  box-shadow: 8px 4px var(--bs-primary);
}

.hero-img:hover {
  filter: blur(0px) brightness(120%) contrast(110%) grayscale(20%) hue-rotate(0deg) invert(0%) saturate(80%) sepia(0%);
  box-shadow: 8px 4px var(--bs-warning);
}

/* link and highlight styles */

.mark {
  background-color: transparent;
  position: relative;
  background: linear-gradient( .2deg ,transparent 0,transparent 20%,var(--bs-warning) 20%,var(--bs-warning) 50%,transparent 50%,transparent 100%);
}

/**
 * Text-Link Highlighting
 * ----------------------
 * - Buttons stay untouched
 * - Default: primary text on warning ribbon
 * - On dark backgrounds: light text on darkblue ribbon
 * - Use .link-plain to opt-out completely
 */
:root {
  --link-highlight-color: var(--bs-primary);
  --link-highlight-bg: var(--bs-warning);
  --link-highlight-fill: 35%;
}

.bg-light,
.bg-white,
.text-bg-light,
body,
main,
form .form-label,
form label,
form p {
  --link-highlight-color: var(--bs-primary);
  --link-highlight-bg: var(--bs-warning);
}

:where(.bg-dark, .bg-primary, .bg-darkblue, .text-bg-dark, .bg-secondary, .text-bg-primary) {
  --link-highlight-color: var(--bs-light);
  --link-highlight-bg: var(--bs-darkblue);
}

.link-highlight,
main a:not(.btn, .link-plain):not(:has(img,div)),
label a:not(.btn, .link-plain),
p.lead a:not(.btn, .link-plain) {
  position: relative;
  text-decoration: none;
  color: var(--link-highlight-color);
  font-weight: inherit;
  background-image: linear-gradient(
    180deg,
    transparent 0,
    transparent calc(100% - var(--link-highlight-fill)),
    var(--link-highlight-bg) calc(100% - var(--link-highlight-fill)),
    var(--link-highlight-bg) 100%
  );
  background-size: 100% 200%;
  background-position: 0 calc(100% - var(--link-highlight-fill));
  transition: background-position 180ms ease, color 180ms ease;
}

.link-highlight:hover,
main a:not(.btn, .link-plain):not(:has(img,div)):hover,
label a:not(.btn, .link-plain):hover,
p.lead a:not(.btn, .link-plain):hover {
  color: var(--link-highlight-color);
  background-position: 0 100%;
}

.link-plain {
  background: none !important;
  color: inherit !important;
}



.h3-roboto {
  font-family: "Roboto";
}

/* 
.bg-left {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30px' height='100%'%3E%3Cline x1='50%' y1='100%' x2='50%' y2='0%' style='stroke:rgba(0,0,0, .12);stroke-width:2px'/%3E%3C/svg%3E");
} */

.semi-transparent-light {
  background-color: color-mix(in srgb, var(--bs-light) 80%, transparent);
  padding: 1em;
}

.semi-transparent-dark {
  background-color: color-mix(in srgb, var(--bs-dark) 80%, transparent);
  padding: 1em;
}

/* audio player */

li:has(.plyr-player) 
{
  margin-bottom:1.8em;
  transition: box-shadow 200ms ease-in-out;
  box-shadow: 8px 4px var(--bs-primary);
}


li:has(.plyr-player):hover {
  box-shadow: 8px 4px var(--bs-warning);
}

.h1 {
  font-size: 2.4em;
}

.speaker-meta h2 
{ 
  line-height: 0.9 !important ;
}
.speaker-meta h2 span 
{ 
  font-family: "Kindergarten";
  font-size: 24px; 
  color: var(--bs-light);
}


/* form stuff */

#contact-container label, #contact-container input, #contact-container textarea  { font-family: 'Roboto Mono'; }
#contact-container .btn { font-family: "Roboto"; }

#contact-container .img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

.form-control {
  height: 36px;
  background: #fff;
  color: rgba(0, 0, 0, 0.8);
  font-size: 14px;
  border-radius: 2px;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: 1px solid rgba(0, 0, 0, 0.1); }

  .form-control::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: rgba(0, 0, 0, 0.3) !important; }
  .form-control::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(0, 0, 0, 0.3) !important; }
  .form-control:-ms-input-placeholder {
    /* IE 0+ */
    color: rgba(0, 0, 0, 0.3) !important; }
  .form-control:-moz-placeholder {
    /* Firefox 18- */
    color: rgba(0, 0, 0, 0.3) !important; }
  .form-control:focus, .form-control:active {
    border-color: var(--bs-warning) !important; }

textarea.form-control {
  height: inherit !important; }

.wrapper {
  width: 100%;
  -webkit-box-shadow: 0px 21px 41px -13px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 21px 41px -13px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 21px 41px -13px rgba(0, 0, 0, 0.18); }

.contact-wrap {
  background: #fff; }

.info-wrap {
  color: rgba(255, 255, 255, 0.8); }
  .info-wrap h3 {
    color: #fff; }
  .info-wrap .dbox {
    width: 100%;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 25px; }
    .info-wrap .dbox:last-child {
      margin-bottom: 0; }
    .info-wrap .dbox p {
      margin-bottom: 0; }
      .info-wrap .dbox p span {
        font-weight: 500;
        color: #fff; }
      .info-wrap .dbox p a {
        color: #fff; }
    .info-wrap .dbox .icon {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      border: 2px solid rgba(255, 255, 255, 0.2); }
      .info-wrap .dbox .icon span {
        font-size: 20px;
        color: #fff; }
    .info-wrap .dbox .text {
      width: calc(100% - 50px); }



.contactForm .label {
  color: #000;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600; font-family: 'Roboto Mono';}

 .contactForm .form-control {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 0; }

 #contactForm .error {
  color: red;
  font-size: 12px; }

#contactForm .form-control {
  font-size: 16px; }

 #message {
  resize: vertical; }

 #form-message-warning, #form-message-success {
  display: none; }

 #form-message-warning {
  color: red; }

 #form-message-success {
  color: #28a745;
  font-size: 18px;
  font-weight: bold; }

 .submitting {
  float: left;
  width: 100%;
  padding: 10px 0;
  display: none;
  font-size: 16px;
  font-weight: bold; }

.context-field-wrapper {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }


  #contactForm  .font-size-large 
  {
    font-size:1.2em !important;
    text-transform: unset;
    font-weight: 300;
    color: var(--bs-primary);
  }


  #contactForm input, #contactForm textarea, #contactForm label[for=to0],  #contactForm label[for=to1],  #contactForm label[for=to2]
  {
    border-bottom: 1px solid var(--bs-gray-600);
    color: var(--bs-info);
  }

  /* markdown parsed content */

  .mh2, .mh3 , .mh4, .mh5
  {
    font-family: "Roboto";
    font-weight: bold;
  }

/* 
  .bg-right {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='30px'%3E%3Cline x1='0%25' y1='50%25' x2='100%25' y2='50%25' style='stroke:rgba(255,255,255,.12);stroke-width:2px'/%3E%3C/svg%3E");
}

.bg-left {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30px' height='100%'%3E%3Cline x1='50%' y1='100%' x2='50%' y2='0%' style='stroke:rgba(0,0,0, .12);stroke-width:2px'/%3E%3C/svg%3E");
} */

.semi-transparent-light {
  background-color: color-mix(in srgb, var(--bs-light) 80%, transparent);
  padding: 1em;
}

.semi-transparent-dark {
  background-color: color-mix(in srgb, var(--bs-dark) 80%, transparent);
  padding: 1em;
}


/* 
back to top link
Source - https://stackoverflow.com/a
Posted by Enjoy Coding.
Retrieved 2025-12-11, License - CC BY-SA 4.0
*/

/* #backToTopBtn {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

#backToTopBtn.show {
  display: block;
  opacity: 1;
} */

.floating-links 
{
  position: fixed;
  top: 20px;
  right: 20px;
  transition: opacity 0.3s ease-in-out;
  z-index: 2000;
  border-radius: 6px;
}

.lead strong 
{
  font-weight: 600;
  /*background-color: rgba(255, 255, 255, 0.18);*/
}

.lead em, .lead strong
{
  color: var(--bs-warning) !important;
}


/* trust card elements on home */

.trust-dot {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 999px;
    display: inline-block;
    background: var(--dot-color, #6c757d);
}
.trust-filter-label {
    color: #f8f9fa;
    gap: 0.5rem;
}
.trust-masonry {
    column-count: 1;
    column-gap: 1.5rem;
}
.trust-card {
    break-inside: avoid;
    /* display: inline-block;  <- cards seem to not break with this line ... */ 
    width: 100%;
    margin: 0 0 1.5rem;
}
.trust-card.is-hidden {
    display: none !important;
}
.trust-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 1050;
}
.trust-modal.is-visible {
    display: flex;
}
.trust-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(2px);
}
.trust-modal__dialog {
    position: relative;
    background: #fff;
    border-radius: 1rem;
    max-width: 720px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 2rem 2.5rem;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.35);
}
.trust-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1;
}
.trust-modal__media {
    margin: 1.5rem 0;
}
.trust-modal__media img {
    width: 100%;
    height: auto;
}
.trust-modal__body {
    font-size: 1rem;
    line-height: 1.6;
}
.trust-modal__body p:last-child {
    margin-bottom: 0;
}
.trust-modal__rating {
    display: flex;
    justify-content: center;
    gap: 0.35rem;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}
.trust-modal__badge {
    letter-spacing: 0.08em;
}
.trust-modal__cta {
    min-width: 10rem;
}
body.trust-modal-open {
    overflow: hidden;
}
@media (min-width: 768px) {
    .trust-masonry {
        column-count: 2;
    }
}
@media (min-width: 1200px) {
    .trust-masonry {
        column-count: 3;
    }
}

.col-scroll::-webkit-scrollbar {
  width: 12px;
}

.col-scroll::-webkit-scrollbar-track {
  background-color: #e4e4e4;
  border-radius: 100px;
}

.col-scroll::-webkit-scrollbar-thumb {
  background-color: var(--bs-warning);
  border-radius: 100px;
}

.col-scroll:nth-child(2):-webkit-scrollbar {
  width: 12px;
}

.col-scroll:nth-child(2)::-webkit-scrollbar-track {
  background-color: #e4e4e4;
  border-radius: 100px;
}

.col-scroll:nth-child(2)::-webkit-scrollbar-thumb {
  background-color: var(--bs-info);
  border-radius: 100px;
}


/* bio table */

ul.time-table {
  list-style: none;
}

ul.time-table li {
  position: relative;
  padding: 10px;
  margin-left: 40px;
}

ul.time-table li:before {
  content: '';
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--bs-primary);
  position: absolute;
  left: -45px;
  top: 50%;
  transform: translateY(-40%);
}

ul.time-table li:not(:last-child):after {
  content: '';
  width: 2px;
  height: 120%;
  background: var(--bs-primary);
  position: absolute;
  left: -37px;
  top: 50%;
}


article.content >  p {
  padding: 14px;
  background-color: var(--bs-white);
  line-height: 1.7;
}

article.content > h1,
article.content > h2,
article.content > h3,
article.content > h4,
article.content > h5,
article.content > h6,
article.content > .mh1,
article.content > .mh2,
article.content > .mh3,
article.content > .mh4,
article.content > .mh5,
article.content > .mh6
{
  margin-top: 1.35em !important;
  background-color: rgba(var(--bs-secondary-bg-rgb),.3);
  box-shadow: 5px 3px rgba(29, 27, 27, 0.6);
  padding: 8px;
}

article.content > ul:not(.time-table),
article.content > ol:not(.time-table)
{
  padding: 14px;
  padding-left: 2em;
  background-color: var(--bs-white);
  line-height: 1.7;;
}

article.content > blockquote 
{
  line-height: 1.5;
}

article.content > blockquote > ul,
article.content > blockquote > ol
{
  line-height: 1.15;
}


article.content > blockquote 
{
    margin-bottom: 2em !important;
    margin-top: 2em !important;
}


article.content > blockquote ul 
{ 
  list-style-type: "✔️ "; 
}

article.content > blockquote li:nth-child(1)
{
  margin-top: 1.2em;
}
article.content > blockquote.border-success li 
{
  border-bottom: 1px solid var(--bs-success);
  margin-bottom: 1em;
  padding-bottom: 1em;

}

article.content > blockquote.border-success strong 
{
  color: var(--bs-success);
}

article.content > blockquote.border-warning li ,
article.content > blockquote.border-warning strong  
{
  color: var(--bs-warning);
}

article.content > blockquote.border-danger li ,
article.content > blockquote.border-danger strong 
{
  color: var(--bs-danger);
}

article.content > blockquote.border-primary li ,
article.content > blockquote.border-primary strong 
{
  color: var(--bs-primary);
}

article.content > blockquote.border-dark li ,
article.content > blockquote.border-dark strong 
{
  color: var(--bs-dark);
}

article.content > blockquote.border-info li ,
article.content > blockquote.border-info strong 
{
  color: var(--bs-info);
}

p:has(a.cta-btn)
{
  text-align: center;
}
p:has(a.cta-btn):before 
{
  content: ">>>>> "
}
p:has(a.cta-btn):after
{
  content: " <<<<<"
}


.clipboard-copy:before {
      content: '📋';
      margin-right: 0px;
      padding-right: 0px;
      display: inline-block;
  }