/* varela-round-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Varela Round';
  font-style: normal;
  font-weight: 400;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/varela-round-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* nunito-sans-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 200;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 300;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 500;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 800;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 900;
  src: url('/templates/cassiopeia_anmeldungen/html/fonts/nunito-sans-v15-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
  --cassiopeia-color-primary: #0069b4;
  --link-color: #41a3d4;
  --table-striped-bg: #f9f9f9;
  --dunkelblau: #0069b4;
  --blau: #41a3d4;
  --hellblau: rgba(0,112,204,.35);
  --grau: #ccc;
  --hellgrau:#f8f8f7;
  --schwarz: #222;
  --emphasis-color: #0069b4;
  --info-text-emphasis: #0069b4;
  --body-color: #0069b4;
}

html {
  background-color: inherit !important;
}

body {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 18px;
  padding-bottom: 40px;
  background-color: #fff;
  color: var(--dunkelblau);
}

.site-grid {
  z-index: 1;
}


#adminForm{
  background-color:var(--hellgrau);
  padding:2rem;
  border-radius: 15px;
}

#adminForm .input-large{
  width:100% !important
}

.view-upcomingevents #adminForm,
.view-event #adminForm {
  display: none;
}

.view-complete .top-a.card {
  display: none;
}

.flex-box .links {
  margin-bottom: 1rem;
}

details {
  background-color:var(--hellgrau);
  padding: 1rem;
}

details p {
  padding-left: 1rem;
  font-size: 1rem !important;
}

/*Überschriften*/
h1, h2, h3, h4, h5, h6 {
  font-family: 'Varela Round', sans-serif;
  color: var(--dunkelblau);
}

h1 {
  margin-bottom: 2rem;
  text-align:center;
}

h2.eb-heading,
h3.eb-heading {
  margin: 3rem 0 1.5rem 0;
  display: block;
}

a {
  color: rgba(0,112,204,1);
}

a:hover {
  color: rgba(0,112,204,.39);
}

/*Allgemeine Klassen*/
.center {
  text-align: left;
}

/*Seite Allgemein*/
.container-header {
  background-color: #fff;
  background-image: none;
}

@media (min-width: 769px) {
  .container-header .navbar-brand img {
    max-width:15rem;
  }
}

/* Full-width background */
.fullwidth-section {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background-color: #41a3d4;
  padding: 60px 20px;
}

/*Buttons*/
.btn {
  margin: 0;
  border: none;
  overflow: visible;
  color: inherit;
  padding: 0 25px;
  vertical-align: middle;
  font-size: 17px;
  line-height: 41px;
  text-decoration: none;
  transition: .17s ease-in-out;
  transition-property: color, background-color, background-position, background-size, border-color, box-shadow;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 300;
  border-radius: 50px;
}
#quantity + .btn{
  padding:0 .25rem 0 0;
  border-top-right-radius:3px;
  border-bottom-right-radius:3px;
  border-top:1px solid #ccc;
  border-right:1px solid #ccc;
  border-bottom:1px solid #ccc;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--dunkelblau) !important;
  color: #fff !important;
  border: 2px solid var(--dunkelblau) !important;
}

.btn-primary:focus,
.btn-primary:active {
  position: relative;
  top: 1px;
}

.btn-primary:hover {
  background-color: var(--dunkelblau) !important;
  color: #fff !important;
  border: 2px solid var(--dunkelblau) !important;
}

.btn-secondary:not(.btn-default){
  background-color:var(--hellblau);
  color:var(--schwarz);
}

.btn-secondary:not(.btn-default):hover{background-color:var(--dunkelblau);color:#fff}

/*Popups*/
#cboxLoadedContent{padding:0}
#cboxLoadedContent #adminForm{display:block}

/*Tabellen*/
.table-striped > tbody > tr:nth-of-type(2n+1) > *,
.table-striped-columns > :not(caption) > tr > :nth-child(2n) {
  background-color: var(--hellblau);
}

.table {
  border: 0 solid transparent;
}

.table thead tr, tr.table-header {
  background-color: var(--blau);
  font-family: 'Varela Round';
}

.table thead tr th, tr.table-header th {
  color: #fff;
}

tr.week-spacer > td {
  --table-bg-type: #fff!important;
}


.table thead tr th.bereich {
  text-align: center;
}

.table td,
.table th {
  padding: .75rem 1rem;
  position: relative;
  background-color: transparent !important;
  background: none !important;
}

.view-upcomingevents a,
.view-register a {
  color:var(--dunkelblau);
}

.view-upcomingevents a:hover,
.view-register a:hover{
  color:rgba(0,112,204,.39);
}

.view-upcomingevents #eb-upcoming-events-page-table .eb-description{
  display:none;
}

.view-calendar #eb-upcoming-events-page-table .eb-notice-message,
.view-upcomingevents #eb-upcoming-events-page-table .eb-notice-message{
  font-weight:500;
  font-size:100%;
}

.view-upcomingevents .table td,
.view-upcomingevents .table th {
  text-align: center;
}

.view-upcomingevents .table .eb-taskbar li{
  margin:0
}

.view-upcomingevents .eb-event-link {
  pointer-events: none;
  color: var(--dunkelblau);
}

.eb-menu-calendar li a {
  background: #41a3d4;
  text-decoration: none;
  margin-left: 10px;
  margin-bottom: 10px;
}

 .eb-topmenu-calendar ul li a.active {
  background: #304a7b;
  color: #fff;
}

.eb-topmenu-calendar ul li a {
  color: #ffffff;
}

.topmenu_calendar div.left_calendar.col-md-7 {
visibility: hidden;
}

 body .eb-calendar li {
    border-color: white;
  }

.eb-calendar ul.eb-weekdays {
  background: #41a3d4;
}

.eb-calendar ul.eb-month-browser li {
   margin: 10px 0;
}

#extcalendar {
  background-color: var(--hellgrau);
  padding: 2rem;
  border-radius: 15px;
}


.row {
  --gutter-x: 0;
}

.view-calendar #extcalendar .tablec,
.view-calendar #extcalendar .tablec td{
  background-color:var(--blau);
}

.view-calendar .eb-daily-events-container h4{
  font-size:1.2rem;
  margin-top:.5rem;
}
.view-calendar .eb-daily-events-container p{
  margin-bottom:.5rem
}

.view-calendar  #extcalendar .tableb{
  color:var(--dunkelblau);
}

#eb-event-page .eb-description{
  padding:2rem
}


#eb-individual-registration-page .table tr:nth-last-child(3) td{
  border-bottom:3rem solid transparent;
}

#eb-individual-registration-page .table tr:nth-last-child(2) td:first-child,
#eb-individual-registration-page .table tr:last-child td:first-child{
  border-left:.75rem solid var(--gruen);
}

#eb-individual-registration-page .table tr:nth-last-child(2),
#eb-individual-registration-page .table tr:last-child{
  --table-bg-type: var(--table-striped-bg);
}

#eb-individual-registration-page .table th:last-child,
#eb-individual-registration-page .table td:last-child {
  text-align: center !important;
}

.table td select {
  margin: 0 auto;
}

.table .eb-taskbar {
  display: flex;
  justify-content: center;
}

.itemid-549 .table th.bereich {
  color: var(--dunkelblau);
}

.table td.td-ticket-bereich {
  vertical-align: middle;
  text-align: center;
}

.table .ticket-bereich:after {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
}

#eb-mini-cart-page #quantity {
  display: none;
}

#quantity + .btn {
  padding: 0 15px;
  text-align: center;
  margin-left: 20%;
  border-left: 1px solid #ccc;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

/*Einleitung*/
.max-width {
  text-align: center;
  margin: 0 auto;
  max-width: 50rem;
  background-color: transparent;
}

.top-a.card span.small {
  font-size: 1rem;
  margin-bottom: .5rem;
  display: block;
  margin-top: 2rem;
  color: var(--dunkelblau);
}

/*Infobox*/
.top-a.card .step-2 .alert-info {
  margin: 0;
}

.top-a.card {
  background-color: transparent;
}

.card-body {
  padding: 0;
}

.top-a.card .alert-info {
  margin: 0 auto;
  position: relative;
  background-color: var(--hellgrau);
  z-index: 1;
  padding: 1.5rem 1.5rem 1.5rem 4rem;
  text-align: left;
  border-radius: 15px;
  top:-40px;
}

.top-a.card .alert-info strong:after {
  content: "i";
  position: absolute;
  top: 1.75rem;
  left: 1rem;
  color: #fff;
  pointer-events: none;
  font-family: serif;
  background-color: var(--dunkelblau);
  display: flex;
  width: 2rem;
  font-size: 1.5rem;
  border-radius: 50%;
  justify-content: center;
  text-shadow: none;
  aspect-ratio: 1/1;
  align-content: center;
  line-height: 1.25;
}

.kontaktkachel {
  margin: 0 auto;
  position: relative;
  background-color: var(--hellgrau);
  z-index: 1;
  text-shadow: 0 0 .5rem #eee;
  padding: 1.5rem;
  text-align: left;
  border-radius: 15px;
  top:-40px;
}

.kontaktkachel img {
  width:400px;
  height:400px;
  object-fit: cover;
  border-radius:15px;
}

.card {
  border: 0;
  margin-top: 0;
}

.eb-event-link {
  text-decoration: none;
}

.eb-cart-content{
  margin-bottom:2rem;
}

/*
.eb-cart-content tr:last-child{
  display:none;
}
*/

/*Form*/
#adminForm .star {
  color: red !important;
}

#adminForm h3.eb-heading:first-child {
  margin-top: 1rem;
}

#adminForm div:not(#field_Zahlungsinformationen) h3.eb-heading {
  margin-top: 0;
}

#adminForm #field_HinweisMasernimpfung .hinweis-checkout{
  font-size:1.2rem;
}

#adminForm .eb-radio-container label,
#adminForm .eb-checkboxes-container label {
  font-size: 1rem;
  position:relative;
  padding-left:1.75rem;
}
#adminForm  .eb-radio-container label input,
#adminForm  .eb-checkboxes-container label input{
  position:absolute;
  top:0;
  left:0
}

#adminForm label input.form-check-input {
  margin-right: .5rem;
}

.form-check-input[type="checkbox"], .form-check-input[type="radio"] {
  margin-right: 7px;
}

#field_HinweisMasernimpfung {
    margin-top: 0;
}

td.col-quantity, th.col-quantity {
  display: none;
}

input.btn.btn-secondary[value="Warenkorb ändern"] {
  display: none;
}

#Kindesalter label{font-size:1.25rem !important;color:red !important}

.card-header {
  background-color: #fff!important;
}

.view-register .container-bottom-a, .view-register .container-bottom-b, .view-complete .container-bottom-a, .view-complete .container-bottom-b {
  display: none!important;
}

/*Footer*/
.footer {
  margin-top: 4rem;
  background-color: inherit;
  background: none;
  background-image: none;
  text-align: center;
  z-index: 0;
  color: #0069b4;
}

.footer a {
  color: rgba(0,112,204,1);
  display: inline-block;
  padding: .5rem 1rem;
}

.footer a:hover {
  color: rgba(0,112,204,.39);
}

.footer a:not(.btn) {
  color: rgba(0,112,204,1);
}

.footer a:not(.btn):hover {
  color: rgba(0,112,204,.39);
}

.footer .oben a {
  padding: .5rem 1rem;
}

.footer .unten a {
  padding: .5rem 0;
}

.footer .grid-child {
  justify-content: center;
  padding: 0 1rem;
}

.footer .oben p:first-child {
  margin-bottom: 1rem;
}

.footer .unten {
  border-top: 1px solid #eee;
  padding: 2rem 0;
  margin-top: 2rem;
}

#field_ZustimmungERechnung fieldset,
#field_Datenschutz fieldset {
  margin: 0;
}

/* Übersichtsseite Auswahl */
.panel-auswahl {
  padding: 20px;
}

@media (max-width: 480px) {
  /*.table-striped > tbody > tr:nth-of-type(2n), 
  .table-striped-columns > :not(caption) > tr:nth-child(2n){
    background-color:#fff !important;
  }*/
}

@media (max-width: 768px) {
  .container-header .navbar-brand img {
    max-width: 13rem;
  }

  .top-a.card p {
    font-size: 1rem;
  }

  table.eb-responsive-table tr {
    margin-bottom: 1.5rem;
  }

  .table td:first-child,
  .table th:first-child {
    width: 50%;
  }
}

@media all and (min-width: 768px) {
  /*Einleitung*/
  .top-a.card {
    text-align: center;
    margin: 0 auto;
  }

  .top-a.card span.small {
    font-size: 1.2rem;
    margin-bottom: .5rem;
  }

  .flex-box {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -1rem;
  }

  .flex-box .links {
    flex: 0 50%;
    padding: 0 1rem;
  }

  .flex-box .rechts {
    flex: 0 50%;
    padding: 0 1rem;
  }

  /*Infobox*/
  .top-a.card .alert-info {
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 2rem 2rem 2rem 6rem;
    text-align: left;
    border-radius: 15px;
  	top:-40px;
  }

  .top-a.card .alert-info strong:after {
    top: 2rem;
    left: 1.5rem;
    color: #fff;
    pointer-events: none;
    font-family: serif;
    background-color: var(--dunkelblau);
    display: flex;
    width: 3rem;
    font-size: 2rem;
    border-radius: 50%;
    justify-content: center;
    text-shadow: none;
    aspect-ratio: 1/1;
    align-content: center;
    line-height: inherit;
  }
  
  .kontaktkachel {
  margin: 0 auto;
  position: relative;
  background-color: var(--hellgrau);
  z-index: 1;
  text-shadow: 0 0 .5rem #eee;
  padding: 2rem;
  text-align: left;
  border-radius: 15px;
  top:-40px;
  }

  .kontaktkachel img {
   	width:400px;
  	height:400px;
    object-fit: cover;
    border-radius:15px;
  }

  .table p.eb-ticket-type-description {
    display: flex;
    align-items: center;
  }

  .footer .oben p:first-child {
    margin-bottom: 2rem;
  }

  .footer .unten {
    margin-top: 3rem;
  }
}

.tabellen {
  overflow: auto;
  margin: 0 auto;
  background-image: 
    /* Shadows */ 
    linear-gradient(to right, white, white),
    linear-gradient(to right, white, white),
    /* Shadow covers */ 
    linear-gradient(to right, rgba(0,0,0,.25), rgba(255,255,255,0)),
    linear-gradient(to left, rgba(0,0,0,.25), rgba(255,255,255,0));   
  background-position: left center, right center, left center, right center;
  background-repeat: no-repeat;
  background-color: white;
  background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
  /* Opera doesn't support this in the shorthand */
  background-attachment: local, local, scroll, scroll;
}

.tabellen:-webkit-scrollbar {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
}

.tabellen:-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid #fff;
  background-color: rgba(0,0,0,.3);
}

.tabellen table {
  width: 600px;
  border-spacing: 0;
  border-collapse: inherit;
  margin: 0 auto !important;
}

@media (min-width: 1024px) {
  .tabellen .table {
    width: 100% !important;
  }
}

body.task-view_checkout #mod-custom146 .flex-box, body.task-process_checkout #mod-custom146 .flex-box {
display: none;  
}
body.task-view_checkout #mod-custom146 {
margin-bottom: 20px !important;  
}

body.task-view_checkout #mod-custom146 .fullwidth-section {
  padding: 60px 20px 30px 20px;
}