/* Override bootstrap.css */

body {
    font-family: "EuropaRegular";
    background-color: #000;
}

@media (min-width:992px)
{
    :target {
        scroll-margin-top: 116px;  /* Offset Fixed nav */
    }
}

.bg-spielplan {
    /* background-color: #dff2fd; */
    background-color: #fffbf1;
}

.bg-anfahrt {
    /* background-color: #f7f1b5; */
    background-color: #fffbf1;
}

.bg-tickets {
    /* background-color: #f3d4e6; */
    background-color: #f7ecf3;
}

a, .nav-item a {
/*  color: #518a8b; */
/*  color: #271C70; */
  color: #e6301f;
  text-decoration: none;
  transition: all 0.25s ease-in;
}

a:focus, a:hover, .nav-item a:focus, .nav-item a:hover {
    /* color: #28B7C6; */
    color: #aa170a;
    text-decoration: none;
}

h1, .h1, .h2 {
    font-family: "RecifeDisplayBook";
}

h3.h5, h4.h6 {
    font-weight: bold;
}

.recife {
    font-family: "RecifeDisplayBook";
}


/*
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "RecifeDisplayBook";
}
*/

@media (max-width:767.98px)
{
  .h2 {
    font-size:24px;
  }

  .h4 {
    font-size:20px;
  }

}

section {
    background-color:#fff;
    padding-top:15px;
}

footer {
    background-color:#fff;
}

abbr {
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
}

hr {
    border-top: 1px solid #ccc;
}

hr.big {
    border-top: 4px solid #000;
    opacity:1;
}

hr.medium {
    border-top: 2px solid #000;
    opacity:1;
}

ul, ol {
  padding-left:30px;
}

blockquote {
  border-left: 1px solid #e6301f;
}

.bold {
    font-weight:bold !important;
}

.btn-default {
    color: #e6301f;
    background-color: transparent;
    background-image: none;
    border-color: #e6301f;
    transition: all 0.5s ease-in-out;
}

.btn-default.active, .btn-default.focus, .btn-default:active, .btn-default:focus, .btn-default:hover, .open>.dropdown-toggle.btn-default {
    color: #FFFFFF;
    background-color: #e6301f;
    background-image: none;
    border-color: #e6301f;
}

.btn, .form-control, .well, .modal-content, .dropdown-menu, .nav-pills>li>a {
  border-radius:0;
}

.close {
    color: #e6301f;
    opacity: 1;
}

.close:focus, .close:hover {
    color: #aa170a;
}

/* Navigation */
.navbar {
    background-color: rgba(0, 0, 0, 0.75);
}

.bg-dark {
    background-color: #000 !important;
}

.bg-light {
    background-color: #fff !important;
}

.navbar .offcanvas-body {
    padding-top:0;
}

#navbar-extra {
    background-color: #fff !important;
    border-bottom:4px solid #000;
}

/*
.navbar-header {
    width:100%;
    margin-top:10px;
}
*/

.navbar-toggler {
/*
    padding:0.25rem 0.75rem;
    border-radius:0;
    border: 2px solid #000;
*/
    font-size: 1.75rem !important;
    border:none;
    border-radius:0;
    color:#fff;
}

/*
@media (max-width: 991.98px)
{
    .navbar-toggler {
    }
}
*/

.navbar-nav .nav-link {
    color: rgba(255,255,255,1);
    padding: 10px 1rem 10px 1rem;
    transition: all 0.5s ease-in-out;
}

.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active, .navbar-nav .nav-link:focus, .nav-link.active, .nav-link:hover {
    color:#fff !important;
    background-color: #e6301f;
}

.bg-light .navbar-nav .nav-link {
    color: rgba(0,0,0,1);
    padding: 10px 1rem 10px 1rem;
    transition: all 0.5s ease-in-out;
}

.bg-light .navbar-nav .nav-link:hover, .bg-light .navbar-nav .nav-link.active, .bg-light .navbar-nav .nav-link:focus {
    color:#fff;
    background-color: #e6301f;
}


.navbar-submenu {
    display:none;
    margin-left:20px;
}

.navbar-submenu li a {
    color:#000;
    background-color: #fff;
}

.navbar-submenu li a:hover, .navbar-submenu li a:focus {
    color:#fff;
    background-color: #e6301f;
}

.navbar-brand {
    margin: 25px 0px;
}

.navbar-brand img {
    height:70px;
    filter: invert(98%) sepia(88%) saturate(5976%) hue-rotate(177deg) brightness(124%) contrast(103%);
}

@media (max-width: 991.98px)
{
    .navbar-brand {
        margin: 5px 0px;
    }

    .navbar-brand img {
        height:50px;
    }
}

.dropdown-menu {
    background-color:#fff;
    border:none;
    border-left:1px solid #e6301f;
    margin-top:0 !important;
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}

.dropdown-menu {
  color:#000;
}

.dropdown-item {
    transition: all 0.5s ease-in-out;
}

.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active {
    color: #fff !important;
    text-decoration: none;
    background-color: #e6301f;
}

.dropdown-item.toggle-menu::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.sm-icons {
    width: 24px;
}

.sm-icons:focus, .sm-icons:hover {
    filter: brightness(0) saturate(100%) invert(17%) sepia(38%) saturate(2637%) hue-rotate(227deg) brightness(86%) contrast(110%);
}


/* Left navigation */
@media (max-width: 991.98px)
{
    .js-nav-left:after  {
      content: "";
      display: block;
      width:100%;
      border-bottom: 1px solid #000;
      margin:15px 0px;
    }
}

.nav.nav-pills > li > a {
  padding: 5px 15px;
}

@media (min-width: 992px)
{
  .nav-border-bottom {
    display:none;
  }

}

@media (max-width: 991.98px)
{
  .nav-border-bottom {
    margin-top:7px;
    border-top:2px #000 solid;
  }
}

#btn-back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
}

/* Special classes */
.hero {
    width: 100vw;
    height: 100vh;
}

.hero #hero-caption {
/*    position:fixed;
    width: 100%;
    align-self: center;
    justify-content: center;*/

    position: relative;
    top:25%;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 60%;
    text-align: center;
    animation: fadeIn 2s;
}

@media (min-width: 992px)
{
    .hero #hero-caption h2 {
        font-size:4rem;
    }
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.hero #hero-caption .hero-shadow {
    text-shadow: 1px 1px 2px #000, 0 0 1em #000, 0 0 0.2em #000;
}

.hero #hero-video, .hero #hero-image {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    object-fit: cover;
    z-index: -1;
}

video::-webkit-media-controls {
    display:none !important;
}

h1.underline, h2.underline, h3.underline, h4.underline {
  border-bottom:4px #000 solid;
  padding-bottom:8px;
}

h1.underline-thin, h2.underline-thin, h3.underline-thin, h4.underline-thin {
  border-bottom:2px #000 solid;
  padding-bottom:8px;
}

/*
.merkmal {
    font-size:0.9rem;
    padding: 3px 6px;
    color: #fff;
    background-color: #333333;
}
*/

p.sp_uhrzeit {
    margin-bottom: 0rem;
}

p.sp_orte, p.sp_ticket {
    margin-bottom: 0.5rem;
}

.row-divider:after  {
  content: "";
  display: block;
  width:100%;
  border-bottom: 1px solid #ddd;
  margin: 0px 15px 15px 15px;
}

.row-divider:last-child:after  {
  border:none;
  margin: 0px 15px 15px 15px;
}


.divider:after  {
  content: "";
  display:block;
  width:100%;
  border-bottom: 1px solid #ddd;
  margin: 10px 0px;
}

.divider:last-child:after  {
  border:none;
  margin: 10px 15px;
}

.footer-divider:before {
  content: "";
  display: block;
  width:100%;
  border-top:2px #000 solid;
  margin-top:15px;
  padding-top:15px;
}

@media (min-width: 992px)
{
    #home-preview {
        overflow-x:hidden;
        max-height:375px;
    }
}


@media (min-width: 1200px)
{
    #home-preview {
        overflow-x:hidden;
        max-height:450px;
    }
}

@media (min-width: 1400px)
{
    #home-preview {
        overflow-x:hidden;
        max-height:540px;
    }
}

/*
.content-haendel {
    color:rgba(231, 49, 70, 1);
}

.content-haendel a {
    color:rgba(0, 0, 0, 1);
}
*/

#spielorte_map-container {
    width:100%;
    height:600px;
}

/* Datepicker */
.datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active:active {
    background-color: #e6301f;
    border-color: #e6301f;
    color: #fff;
}

/* Image transition */
img.transition  {
	-webkit-transform: scale(1);
	transform: scale(1);
	transition: .5s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
}

img.transition:hover {
	transform: scale(1.07);
}

/* Rotate icon */
.rotate {
    -moz-transition: all 0.25s linear;
    -webkit-transition: all 0.25s linear;
    transition: all 0.25s linear;
}

.rotate.down {
    -moz-transform:rotate(180deg);
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);
}


/* Karten: Platzgruppen */
.pg-1 {
    background-color: rgba(242,175,51,1) !important;
    color: rgba(255,255,255,1) !important;
    border-bottom-color: rgb(33, 37, 41) !important;
}

.pg-2 {
    background-color: rgba(167,94,109,1) !important;
    color: rgba(255,255,255,1) !important;
    border-bottom-color: rgb(33, 37, 41) !important;
}

.pg-3 {
    background-color: rgba(3,127,140,1) !important;
    color: rgba(255,255,255,1) !important;
    border-bottom-color: rgb(33, 37, 41) !important;
}

.pg-4 {
    background-color: rgba(39,163,121,1) !important;
    color: rgba(255,255,255,1) !important;
    border-bottom-color: rgb(33, 37, 41) !important;
}

.pg-5 {
    background-color: rgba(238,115,62,1) !important;
    color: rgba(255,255,255,1) !important;
    border-bottom-color: rgb(33, 37, 41) !important;
}

/* Google CSE */


/* Slider */
/* Dots */
.slick-dots
{
    position: relative;
}

.slider-programm {
  max-height:300px;
  margin-bottom:15px;
}

.slider-programm .item {
  margin-right:15px;
}

.slider-programm img {
  max-height:300px;

}

.item {
  position:relative;
}

.playbutton a i {
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width:100px;
  height:100px;
  color:#ff0000;
  font-size:7em;
}

.slider-programm .playbutton a i {
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width:100px;
  height:100px;
  color:#ff0000;
  font-size:5em;
}



@media screen and (min-width:992px) {

  .sticky-sidebar {
        position: sticky;
        top: 160px;
        align-self: flex-start;
    }
}

@media screen and (max-width:767.98px) {

    .sticky-date {
      position: -webkit-sticky;
      position: -moz-sticky;
      position: -o-sticky;
      position: -ms-sticky;
      position: sticky;
      top: 0;
      left: 0;
      right: 0;
      display: block;
      padding-top:10px;
      z-index: 1;
      background-color: #e6301f;
      color: #fff;
    }
}