:root {
  --MyStickyMenuHeight: 0px;

  --dt-row-selected: 221, 221, 221;
  --dt-row-selected-text: 0, 0, 0;
}

@font-face {
  font-family: Inter;
  font-display: swap;
  src: url(/assets/fonts/Inter-Regular.ttf);
}

@font-face {
  font-family: Spartan;
  font-display: swap;
  src: url(/assets/fonts/Spartan.ttf);
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: Inter,Helvetica,Arial,sans-serif;
    font-size: 14px;
  }

td.TableCellBreak {
  white-space: normal !important;
}

p {
    margin-top: 5px;
    margin-bottom: 5px; 
}

a {
  color: #000;
}

a:hover {
  color: #555;
}

form.full {
  margin: auto; 
  min-width: 220px; 
  width: 85%;
  max-width: 1000px;
}

label {
  margin-bottom: 2px;
  display: inline-block;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;  
  word-wrap: break-word;
  font-size: inherit;
}

label.full {
  width: 100%;
  text-align: left;
}

input, select {
    margin-bottom: 5px;    
    background-color: #fff; 
    border: 1px solid #c8c8c8;
    color: #000;
    border-radius: 2px;
    padding: 5px;
    transition: 0.3s;
    display: inline-block;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;  
    font-size: inherit;
}

input.full {
  width: 100%;
}

select.full {
  width: 100%;
}

input[type=submit].full {
  width: 100%;
}

input[type=checkbox] {
  accent-color: #c8c8c8;
  border-radius: 2px;
  padding: 5px;
  border: 1px solid #888;
  width: 15px;
  height: 15px;
  margin-right: 5px;
}

button, input[type=submit] {
  background-color: #ddd; 
  border: 1px solid #c8c8c8;
  border-radius: 2px;
  margin-bottom: 5px;   
  padding: 5px;
  color: #000;
  cursor: pointer; 
  transition: 0.3s;
  display: inline-block;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;
  font-size: inherit;
}

button:disabled, input[type=submit]:disabled {
  background-color: #efefef; 
  color: #888;
  cursor: default; 
}

button:disabled:hover, input[type=submit]:disabled:hover {
  background-color: #efefef; 
  color: #888;
  cursor: default; 
}

button:hover, input[type=submit]:hover {
  background-color: #c8c8c8;
  cursor: pointer;
}

button.full {
  width: 100%;
}

button.active {
  background-color: #c8c8c8;
}

.MyInlineButton {
  padding-left: 3px !important;
  padding-right: 3px !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  margin-bottom: 0px !important;
}

.center {
    width: 100%; 
    text-align: center;
    position: relative;
    margin: auto;
    margin-bottom: 2.1875em;
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;   
    min-height: calc(100vh - 4.375em - 10px);
  }

  .MyLinksMenuDeviceSize {
    visibility: hidden;
  }

  .MyNavbar .MyLinksMenuDeviceSize li a {
    display: block;
    color: #000;
    padding: 2px;
    padding-left: 6px;
    overflow: hidden;
    white-space: nowrap;
  }

  .MyHTMLTableResponsiveContainer {
    height: calc(100svh - 4.375em - 10px - var(--MyStickyMenuHeight));
    max-height: calc(100svh - 4.375em - 10px - var(--MyStickyMenuHeight));
    min-height: 300px;
  }

  @media only screen and (max-height: 400px) {

    .center {
      margin-bottom: 0px; /*no footer on small devices*/
      min-height: calc(100vh - 2.1875em - 10px);
    }
    .MyLinksMenuDeviceSize {
      padding-top:  10px;
      visibility:   visible;
    }

    .MyHTMLTableResponsiveContainer {
      height: calc(100vh - 5px);
      max-height: calc(100vh - 5px);
    }

  }

  .MyStickyMenu {
    position:       sticky; 
    top:            30px; 
    left:           30px; 
    margin-left:    -5px; 
    margin-top:     -5px; 
    margin-right:   -5px; 
    z-index:        1000; 
    width:          calc(100% + 10px); 
    height:         fit-content; 
    background-color: #f1f1f1; 
    text-align:     left; 
    padding:        0px; 
    padding-left:   5px; 
    padding-right:  5px; 
    box-shadow:     0 4px 4px 0 rgba(0,0,0,0.1); 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
    display:        flex;
  }

  

  .MyFaHover:hover {
    color: #ababab;
  }

.MyHigherLineSpace {
   line-height: 2.5em; 
}

.MyInlineDiv {
  display: inline-block;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;  
  padding-left: 5px;
  padding-right: 5px;
  margin: 0px;
  margin-top: 3px;
  margin-bottom: 3px;
  text-align: center;
  min-width: 220px; 
  vertical-align: top;
}
  
.MyHeaderInfo {
  margin-top: 0px; 
  margin-left: 0px;
  width: calc(100vw - 30px); 
  height: 30px; 
  display: inline-block; 
  padding: 3px; 
  background-color: #fafcb6; 
  box-sizing: border-box;
  font-size: 15px;
}
 
  
  .MyHeader {
    background-color: #f1f1f1;
    padding: 0px;
    margin-top: 0px;
    margin-bottom: 5px;
    margin-left: 0px;
    margin-right: 0px;
    text-align: center;
    /* height: 2.1875em; */
    width: calc(100% - 30px);
    position: fixed; /* Make it stick, even on scroll */
    z-index: 999;
    display: inline-block;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;   
    font-size: 0px;
  }

  @media only screen and (max-width: 600px) {
    .MyHeader {
      margin-left: 30px;
    }
    .MyHeaderInfo {
      margin-left: -30px;
      width: 100vw;
    }
  }



  .MyFooter {
    padding: 0px;
    padding-left: 5px;
    padding-right: 5px;
    margin: 0px;
    bottom: 0px;
    margin-left: 30px;
    background-color: #f1f1f1;
    text-align: center;
    line-height: 2.1875em;
    height: 2.1875em;
    width: 100%;
    position: fixed; /* Make it stick, even on scroll */
    z-index: 999;
  }

  @media only screen and (max-width: 600px) {

    .MyFooter {
      margin-left: 0px;
    }

  }

  @media only screen and (max-height: 400px) {

    .MyFooter {
      height: 0px; /*no footer on small devices*/
    }

  }

  #fQuickSearchForm {
    margin-left: 0px;
  }

  #MyNavbarOuterContent {
    margin-left: 30px;
  }

  @media only screen and (max-width: 600px) {
    #MyNavbarOuterContent {
      margin-left: 0px;
    }
  }

  #MyNavbarOuterHeaderSpan {
    margin-left: 0px;/*15px;*/
    text-decoration: none !important;
    font-size: initial;
  }

  .MyHeaderImg {
    margin-left: -56px;
  }

  @media only screen and (max-width: 600px) {
    .MyHeaderImg {
      margin-left: -26px;
    }
  }

  .MyHeaderA {
    text-decoration: none !important;
    color: unset;
    margin-left: -15px;
  }

  .MyHeaderA:hover {
    text-decoration: none !important;
    color: unset;
  }

  @media only screen and (max-width: 600px) {
    #MyNavbarOuterHeaderSpan {
      margin-left: 0px;
    }
  }

  .MyNavbarOuterHeaderSpanSlogan {
    display: inline-block;
  }

  @media only screen and (max-width: 600px) {
    .MyNavbarOuterHeaderSpanSlogan {
      display: none;
    }
  }


.MyNavbar {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 30px;
    background-color: #f1f1f1;
    height: 100%; /* Full height */
    position: fixed; /* Make it stick, even on scroll */
    z-index: 9999;
    overflow-y: auto; /* Enable scrolling if the sidenav has too much content */
    overflow-x:hidden;
   
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;   
  }

  @media only screen and (max-width: 600px) {

    .MyNavbar {
      height: 30px;
    }

  }
  
  .MyNavbar li a, .MyNavbar li span {
    display: block;
    color: #000;
    padding-left: 6px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 6px;
    text-decoration: none;
    overflow: hidden;
    white-space: nowrap;
  }
  
  /* Change the link color on hover */
  .MyNavbar li a:hover {
    background-color: #555;
    color: white;
  }
  
  .MyNavbar .active {
    background-color: #ababab;
  }

  /* The Modal (background) */
.MyModal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 999999999; 
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.2); /* Black w/ opacity */
  }
  
  /* Modal Content/Box */
  .MyModalContent {
    background-color: #fefefe;
    margin: 5em auto;
    padding: 0ox;
    border: 1px solid #888;
    border-radius: 10px;
    width: 80%; /* Could be more or less, depending on screen size */
    height: 80%;
    z-index: 99; 
    text-align: left;     
    position: relative;
    display: block;
    overflow: auto;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;   
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  }

  @media only screen and (max-width: 600px) {
    .MyModalContent {
      margin: 5% auto;
      width: 90%;
      height: 90%; 
    }
  }

.MyModalInner {
    top: 0px;
    padding: 10px;
    width: 100%;
    position: relative;
    display: inline-block;
    overflow: auto;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;   
}

.MyModalTitle {
    background-color: #f1f1f1;
    padding-top: 5px; 
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    z-index: 100; 
    margin: 0px;
    border: 1px solid transparent;
    border-radius: 10px 10px 0px 0px;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    width: 100%;
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
    display: inline-block;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;
}

.MyModal.Modalactive {
    animation-name: animateModal;
    animation-duration: 0.5s; 
    opacity: 1.0;
  }

  .MyModal.Modalclosing {
    animation-name: animateModalClose;
    animation-duration: 0.5s; 
    opacity: 0.0;
  }
  
  /* Add Animation */
  @keyframes animateModal {
    from { opacity: 0}
    to { opacity: 1}
  }
  @keyframes animateModalClose {
    from { opacity: 1}
    to { opacity: 0}
  }

  .MyBadge {
      background-color: #76af75;
      color: white;
      font-size: 0.8em;
      padding: 4px 8px;
      text-align: center;
      border-radius: 5px;
  }

  .MyRibbon {
    /* width: 60px; */
    font-size: 0.90em;
    font-weight: bold !important;
    padding-left: 0.65em;
    padding-right: 0.65em;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    position: absolute;
    right: -40px;
    top: -22px;
    text-align: center;
    border-radius: 5px;
    transform: rotate(5deg);
    background-color: #f44336; 
    color: white;
    word-break: keep-all;
    white-space: nowrap;
  }

  .MyRibbon.Inline {
    transform: rotate(0deg);
    position: relative;
    right: 0px;
    top: 0px;
  }

.MyTab {
  overflow: hidden;
  background-color: #f1f1f1;
  margin-bottom: 5px;
}

.MyTab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 7px;
  transition: 0.3s;
  color: #000;
  margin-bottom: 0px;
}

.MyTab button:hover {
  background-color: #ddd;
}

.MyTab button.active {
  background-color: #ddd;
  font-weight: bold;
}

/* Style the tab content */
.MyTabcontent {
  display: none;
  padding: 0px;
  animation: fadeEffect 1s; /* Fading effect takes 1 second */
}

/* Go from zero to full opacity */
@keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}

  .MyTable {
    background-color: #FFFFFF;
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    table-layout: fixed;
    word-break: normal;
  }

  @media only screen and (max-width: 600px) {

    .MyTable { 
      font-size: 0.9em; 
    }

  }

  .MyTable thead th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1;
  }

  .MyTable thead th:first-child {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 2;
  }

  .MyTable tbody th {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 1;
  }

  .MyTable tr {
    background-color: #FFFFFF;
  }

  .MyTable th, .MyTable thead tr th, .MyTable tr, .MyTable td {
    border-collapse: collapse;
    padding: 6px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 auto;
  }

  .MyTable.Compact th, .MyTable.Compact thead tr th, .MyTable.Compact tr, .MyTable.Compact td {
    border-collapse: collapse;
    padding: 3px;
    padding-left: 5px;
    padding-right: 5px;
    margin: 0 auto;
  }

  .MyTable tbody tr {
    border-top: 1px solid rgb(160, 159, 159); 
  }

  .MyTable tr, .MyTable td {
    text-align: left;
  }

  .MyAlignRight {
    text-align: right !important;
  }

  .MyAlignLeft {
    text-align: left !important;
  }

  .MyAlignCenter {
    text-align: center !important;
  }

  .MyTable thead th {
    background-color: rgb(246,246,246) !important;
    color: rgb(91,91,91);
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-size: 0.8em;
  }

  .MyTable tbody th {
    font-weight: normal;
    background-color: rgb(246,246,246) !important;
  }

  .MyTable tfoot td {
    background-color: rgb(246,246,246) !important;
    color: rgb(51,51,51);
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-size: 0.8em;
  }

  .MyTable tfoot {
    border-top: 1px solid rgba(160, 160, 160); 
  }

  .MyTable tbody tr:nth-child(even) {
    background-color: rgb(249,249,249) !important;
  }

  .MyTable.MyHover tbody tr:hover {
    background-color: rgb(235,235,235) !important;
  }

  .MyMonospace {
    font-family: courier, monospace !important;
  }

  /* Tooltip container */
.MyTooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

.MyTooltip.NoUnderline {
  border-bottom: unset;
}

/* Tooltip text */
.MyTooltip .MyTooltipText {
  visibility: hidden;
  min-width: 120px;
  max-width: 250px;
  background-color: black;
  color: #fff;
  text-align: center;
  padding: 5px;
  border-radius: 6px;

  opacity: 0;
  transition: opacity 1s;

  bottom: 100%;
  left: 50%; 
  margin-left: calc(50% - 125px); /* Use half of the width (120/2 = 60), to center the tooltip */
 
  position: absolute; /* absolute */
  z-index: 9999999;
}

.MyTooltip .MyTooltipText a {
  color: #fff;
}

/* Show the tooltip text when you mouse over the tooltip container */
.MyTooltip:hover .MyTooltipText {
  opacity: 1;
  visibility: visible;
}

.MyInfoBox {
  background-color: #f1f1f1;
  transition: all 0.3s ease-out;
  margin: 4px;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 8px;
  display: inline-block;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;  
  vertical-align: top;
  border: 1px solid #e6e6e6;
  border-radius: 0px;
}



  .MyCard {
    /*box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);*/

    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;

    background-color: #ffffff;

    /*transition: all 0.3s ease-out;*/
    /*margin: 8px; old one */
    margin-left: 8px;
    margin-top: 8px;
    margin-right: 2px;
    margin-bottom: 2px;
    display: inline-block;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;  
    vertical-align: top;
    border: 1px solid #e6e6e6;
    border-radius: 7px;
  }

  .MyCard.SixCardsOnScreen {
    width: calc(33.33333% - 16px); 
    min-width: 230px; 
  }

  @media only screen and (max-width: 600px) {

    .MyCard.SixCardsOnScreen { /* one col */
      width: 100%; 
      min-width: 250px; 
    }

  }

  @media only screen and (min-width: 600px) { /* two cols */

    .MyCard.SixCardsOnScreen {
      width: calc(50% - 16px); 
      min-width: unset; 
      float: left;
    }

  }

  @media only screen and (min-width: 1024px) { /* three cols */

     .MyCard.SixCardsOnScreen {
      width: calc(33.3333% - 16px); 
      min-width: unset; 
    } 

  }


  .MyCard.FourCardsOnScreen {
    width: calc(25.0% - 16px); 
    min-width: 230px; 
  }

  @media only screen and (max-width: 600px) {

    .MyCard.FourCardsOnScreen { /* one col */
      width: 100%; 
      min-width: 250px; 
    }

  }

  @media only screen and (min-width: 600px) { /* two cols */

    .MyCard.FourCardsOnScreen {
      width: calc(50% - 16px); 
      min-width: unset; 
      float: left;
    }

  }

  @media only screen and (min-width: 1024px) { /* three cols */

     .MyCard.FourCardsOnScreen {
      width: calc(33.3333% - 16px); 
      min-width: unset; 
      float: left;
    } 

  }

  @media only screen and (min-width: 1500px) { /* four cols */

    .MyCard.FourCardsOnScreen {
     width: calc(25.0% - 16px); 
     min-width: unset; 
     float: left;
   } 

 }

  .MyCard.expanded {
    box-shadow: 0 0 0 100em rgba(0,0,0,0.5) !important;
    position: fixed;
    margin: 0 auto;
    width: calc(100vw - 18px) !important;
    width: calc(100dvw - 18px) !important;
    height: calc(100dvh - 18px) !important;
    height: calc(100dvh - 18px) !important;
    z-index: 9999999 !important; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
  }

  .MyCard.full {
    position: fixed;
    margin: 0 auto;
    width: 100vw !important;
    height: 100svh !important;
    /* mobile viewport bug fix */
    height: -webkit-fill-available !important;
    z-index: 999999 !important; 
    left: 0;
    top: 0;
  }
  
  .MyCard.MyHover:hover {
    /*box-shadow: 0 5px 10px 0 rgba(0,0,0,0.25);*/
    box-shadow: rgba(50, 50, 93, 0.25) 0px 3px 6px -1px, rgba(0, 0, 0, 0.30) 0px 2px 6px -1px;
  }

  .MyCardContainer {
    position: relative;
    text-align: center;
    padding: 0px;
    height: 100%;
    width: 100%;
    margin: 0;
    display: inline-block;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;  
    border-radius: 7px;
    overflow: hidden;
  }

  .MyCardInnerContainer {
    position: relative;
    text-align: left;
    /*overflow: auto;*/
    padding: 5px;
    padding-top: 5px;
    height: calc(100% - 30px);
    width: 100%;
    margin: 0;
    display: inline-block;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;  
  }

  .MyCardInnerContainer.expanded {
    overflow: auto !important;
  }

  .MyCard.active {
    background-color: #f1f1f1;
    border: 1px solid rgb(160, 159, 159);
  }

  .MyCardTitle {
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 10px;
    width: 100%;
  }

blockquote {
    margin: auto;
    font: 1.9em/1.25 Georgia, serif;
    text-align: center;
  }

blockquote p {
    margin: 0;
  }
  
blockquote cite {
    display: inline-block;
    margin-top: 1rem;
    font: 0.9rem/1.1 Helvetica, Arial, sans-serif;
  }

blockquote::before,
blockquote::after {
    content: '';
    display: block;
    margin-top: -15px;
    margin-bottom: -15px;
    height: 2em;
    width: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 0 16 4'%3E%3Ctext x='0' y='2' text-anchor='middle' font-family='Georgia' font-size='3' fill='hsl(0 0%25 33%25)'%3E„%3C/text%3E%3Cg stroke-width='0.1' stroke='hsl(0 0%25 33%25)'%3E%3Cline x1='8' x2='1.5' y1='2' y2='2'/%3E%3Cline x1='-8' x2='-1.5' y1='2' y2='2'/%3E%3C/g%3E%3C/svg%3E");
    /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-8 0 16 4"><text x="0" y="2" text-anchor="middle" font-family="Georgia" font-size="3" fill="hsl(0 0% 33%)">„</text><g stroke-width="0.1" stroke="hsl(0 0% 33%)"><line x1="8" x2="1.5" y1="2" y2="2"/><line x1="-8" x2="-1.5" y1="2" y2="2"/></g></svg> */
    background-position: center;
    background-repeat: no-repeat;
    align-self: center;
  }
  
blockquote:lang(en)::before,
blockquote:lang(de)::after {
    transform: rotate(0.5turn);
  }

  .MyCollapsible {
    padding: 5px;
    margin: 0px;
    margin-top: 5px;
    background-color: #ddd; 
    color: #000;
    transition: 0.3s;
    cursor: pointer;
    width: 100%;
    text-align: left;
    font-size: inherit;
    border-width: 1px;
    border-color: #c8c8c8;
    border-style: solid solid none solid;
    border-radius: 2px 2px 0px 0px;
  }

  .MyCollapsible::after {
    content: '+'; 
    float: right;
    margin-left: 5px;
  }
  
  .MyCollapsible.active::after {
    content: "-"; 
  }
  
  /* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
  .MyCollapsible.active, .MyCollapsible:hover {
    background-color: #c8c8c8;
  }
  
  /* Style the collapsible content. Note: hidden by default */
  .MyCollapsibleContent {
    padding: 0px 5px;
    margin: 0px;
    background-color: #f1f1f1;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    border: 1px #c8c8c8;
    border-style: none solid solid solid;
    border-radius: 0px 0px 2px 2px;
  }

  .MyNotice {
    padding: 8px;
    color: #000;
    box-shadow: 0 5px 10px 0 rgba(0,0,0,0.2);
    border-radius: 5px;
    text-align: left;
    line-height: 1.5em;
    vertical-align: middle;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .MyNoticeMessage {
    line-height: 1.5em;
    vertical-align: middle;
    display: inline-block;
    width: 100%;
  }

  .MyNoticeIcon {
    font-size: 1.5em;
    line-height: 1.5em;
    vertical-align: middle;
    margin-right: 10px;
  }

  .MyNoticeIcon.Failure {
    color: #f44336
  }

  .MyNoticeIcon.Success {
    color: #04AA6D;
  }

  .MyNoticeIcon.Info {
    color: #555;
  }

  .MyNotice.Failure {
    background-color: #ffdddd;  
    border: 1px solid #f44336;
    border-left: 10px solid #f44336;
  }

  .MyNotice.Success {
    background-color: #ddffdd;
    border: 1px solid #04AA6D;
    border-left: 10px solid #04AA6D;
  }

  .MyNotice.Info {
    background-color: #d9d9d9;
    border: 1px solid #555;
    border-left: 10px solid #555;
  }

  .MyNoticeCloseBtn {
    margin-left: 15px;
    color: black;
    font-weight: bold;
    cursor: pointer;
    font-size: 1.5em;
    line-height: 1.5em;
    vertical-align: middle;
  }

  .MyNoticeCloseBtn:hover {
    color: #757575;
  }

  #MySnackbarIcon {
    height: 100%;
    width: 2em; 
    margin-right: 10px;
    display: inline-block;
  }

  #MySnackbarCloseBtn {
    height: 100%;
    width: 2em;
    margin-right: 10px;
    display: inline-block;
    position: relative;
    right: 0px; 
  }

  #MySnackbar {
    opacity: 0;
    position: fixed;
    z-index: 99999 !important; 
    width: 76%;
    margin-left: calc(-38% + 15px); /* Divide value of width by 2 */
    text-align: center;
    left: 50%;
    top: -3500px; 
  }

  @media only screen and (max-width: 600px) {
    #MySnackbar {
      width: 90%;
      margin-left: calc(-45%); /* Divide value of width by 2 */
    }
  }

  /* Show the snackbar when clicking on a button (class added with JavaScript) */
#MySnackbar.show {
  opacity: 1;
  top: 35px;
  animation-name: animateSnackbarOpen;
  animation-duration: 0.75s; 
}

#MySnackbar.close {
  animation-name: animateSnackbarClose;
  animation-duration: 0.75s; 
}

/* Add Animation */
@keyframes animateSnackbarOpen {
  from {  opacity: 0; top: 0px; }
  to { opacity: 1; top: 35px; }
}
@keyframes animateSnackbarClose {
  from { opacity: 1; top: 35px;}
  to { opacity: 0; top: 0px; }
}

.My4Columns {
    float: left;
    width: 25%;
    padding: 8px;
    box-sizing: border-box;
}

@media only screen and (max-width: 1000px) {
  .My4Columns {
    width: 50%;
  }
}

@media only screen and (max-width: 600px) {
  .My4Columns {
    width: 100%;
  }
}

.MyPriceList {
  list-style-type: none;
  border: 1px solid #dddddd;
  background-color: #fefefe;
  margin: 0;
  padding: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.MyPriceList.active {
  border: 1px solid #555 !important;
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2) !important;
}
.MyPriceList.active:hover {
  border: 1px solid #555 !important;
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.3) !important;
}
.MyPriceList.inactive {
  -webkit-filter:blur(3px);
  filter:blur(3px);
}

.MyPriceList:not(.inactive):hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.3);
}

.MyPriceListHeader {
  background-color: #555;
  color: white;
  font-size: 1.7em !important;
}

.MyPriceList li {
  border-bottom: 1px solid #dddddd;
  padding: 3px;
  text-align: center;
  font-size: 1.10em;
  font-weight: bold;
}

.MyPriceListDesc {
  font-size: 0.70em; 
  line-height: 1.4em;
  font-weight: normal;
}

.MyPriceListGrey {
  background-color: #f1f1f1;
  font-size: 1.4em !important;
}

.MyFlipCard {
  background-color: #fff;
  width: 500px;
  height: 200px;
  border: 1px solid #f1f1f1;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

.MyFlipCardInner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
  /* overflow: hidden; */
}

.MyFlipCardFront, .MyFlipCardBack {
  background-color: #fff;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
  overflow: hidden;
}

.MyFlipCardFront {
  background-color: #fff;
}

.MyFlipCardBack {
  background-color: #fff;
  transform: rotateY(180deg);
}

.MyFlipCardActive {
  transform: rotateY(180deg);
}

.MySmallLogo {
  background-clip: border-box;
  background-repeat: no-repeat;
  background-size: contain;
  border: 1px solid #888;
  border-radius: 50%;
  -o-object-fit: contain;
  object-fit: contain;
  object-position: 50% 50%;
  height: 30px;
  min-height: 30px;
  width: 30px;
  min-width: 30px;
  padding: 2px;
  box-sizing: border-box;
}

.MyFlexContainer {
  padding: 0px;
  padding-bottom: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  gap: 5px 10px;
}

.MyFlexItem {
  
  padding: 0px;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 270px;
  min-width: 270px; 
  max-width: 100vw; /*was 500px*/
}

.MyChartTooltipBox {
  -webkit-box-sizing:   border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing:      border-box;    /* Firefox, other Gecko */
  box-sizing:           border-box;  
  display:              inline-block;
  padding:              5px;
  font-size:            11px;
}

.MyColorPicker {
  width:                0.9em; 
  height:               0.9em;
  border-radius:        50%;
  -webkit-box-sizing:   border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing:      border-box;    /* Firefox, other Gecko */
  box-sizing:           border-box;  
  display:              inline-block;
  margin-left:          5px;
  margin-right:         5px;
  vertical-align:       middle !important;
}

.MySelectOverflow {
    max-height: 250px;
}

div.dt-container div.dt-layout-row {
  margin: 0.1em 0;
}
div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell>* {
  margin: 0.1em 0;
}

.dt-search {
  width: 100%;
  text-align: center;
}

.stepper-wrapper {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.stepper-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  padding-left: 5px;
  padding-right: 5px;

  @media only screen and (max-width: 768px) {
    font-size: 12px;
  }

  @media only screen and (max-width: 400px) {
    font-size: 10px;
  }
}

.stepper-item .step-name {
  word-break: break-all;
}

.stepper-item::before {
  position: absolute;
  content: "";
  border-bottom: 2px solid #c8c8c8;
  width: 100%;
  top: 20px;
  left: -50%;
  z-index: 2;

  @media only screen and (max-width: 400px) {
    top: 15px;
  }
}

.stepper-item::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #c8c8c8;
  width: 100%;
  top: 20px;
  left: 50%;
  z-index: 2;

  @media only screen and (max-width: 400px) {
    top: 15px;
  }
}

.stepper-item .step-counter {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #888;
  border-radius: 50%;
  background: #f1f1f1;
  margin-bottom: 6px;

  @media only screen and (max-width: 400px) {
    width: 30px;
    height: 30px;
  }
}

.stepper-item.active {
  font-weight: bold;
}

.stepper-item.completed .step-counter {
  background-color: #c8c8c8;
  font-size: 25px;

  @media only screen and (max-width: 400px) {
    font-size: 19px;
  }
}

.stepper-item.completed::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #888;
  width: 100%;
  top: 20px;
  left: 50%;
  z-index: 3;

  @media only screen and (max-width: 400px) {
    top: 15px;
  }
}

.stepper-item:first-child::before {
  content: none;
}
.stepper-item:last-child::after {
  content: none;
}


 .ui-autocomplete {
          max-height: 200px;
          max-width: 270px;
          overflow-y: auto;
          /* prevent horizontal scrollbar */
          overflow-x: hidden;
          background-color: rgb(250,250,250);
      }
      .ui-autocomplete .odd {
          background-color: rgb(240,240,240);
      }

      .ui-autocomplete .datacontainer {
          padding: 5px;
          box-sizing: border-box;
          height: 100%;
          width: 270px;
      }

      .ui-autocomplete .datacontainer .ui-state-active {
          border: 0px;
          margin: unset;
          background-color: unset;
      }

      .ui-autocomplete .datacontainer:hover, .ui-autocomplete.datacontainer:active, .ui-autocomplete.datacontainer:focus {
          background-color: rgb(225,225,225);
      }

      .ui-autocomplete span {
          border: 0px;
          display: inline-block; 
          box-sizing: border-box;
          margin: 0px;
          padding: 0px;
      }

.ui-tooltip-content {  
  line-height: 1.5em;
}