@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif:400,700");
body {
  font-family: 'Open Sans', sans-serif; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Serif', serif;
  font-weight: bold;
  margin-bottom: 1rem; }

h1 {
  font-size: 2rem; }
  @media (min-width: 768px) {
    h1 {
      font-size: 3.5rem;
      margin-bottom: 2rem; } }

h2 {
  font-size: 1.5rem; }
  @media (min-width: 768px) {
    h2 {
      font-size: 3rem;
      margin-bottom: 2rem; } }

h3 {
  font-size: 1.3rem; }
  @media (min-width: 768px) {
    h3 {
      font-size: 2rem; } }

h4 {
  font-size: 1.2rem; }
  @media (min-width: 768px) {
    h4 {
      font-size: 1.5rem; } }

h5 {
  font-size: 1rem; }
  @media (min-width: 768px) {
    h5 {
      font-size: 1.25rem; } }

p {
  font-size: 16px;
  line-height: 1.5; }
  p.cred {
    font-size: 10px;
    text-align: center; }

a {
  color: #333; }

p a {
  color: #ec6a5c; }

.text-center {
  text-align: center; }

.no-padding {
  padding: 0; }

@media (max-width: 767px) {
  .container {
    padding-right: 30px;
    padding-left: 30px; } }
@media (min-width: 1200px) {
  .container {
    max-width: 1000px; } }
@media (min-width: 1200px) {
  .container.big {
    max-width: 1140px; } }
@media (min-width: 1200px) {
  .container.small {
    max-width: 800px; } }

img {
  width: 100%;
  max-width: 100%; }
  img.shadow {
    box-shadow: 0 0 0 -1px rgba(0, 0, 0, 0.5);
    margin-bottom: 1rem; }
    @media (min-width: 992px) {
      img.shadow {
        margin-bottom: 2rem; } }
  img.max-small {
    max-width: 300px;
    display: table;
    margin-left: auto;
    margin-right: auto; }

.button {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 0.75rem 1.25rem;
  background-color: #ec6a5c;
  color: #fff;
  font-weight: bold;
  border: none;
  letter-spacing: 0.25rem;
  font-size: 14px;
  text-transform: uppercase;
  border-radius: 0.5rem;
  box-shadow: 0 0 0 -1px rgba(0, 0, 0, 0.5);
  transition: all 0.25s ease; }
  .button.center {
    margin: 0 auto; }
  .button:hover {
    background-color: #e95545; }

header .logo img {
  margin: 1rem 0;
  width: auto;
  max-height: auto;
  height: 50px; }
  @media (min-width: 992px) {
    header .logo img {
      height: 100px; } }
header .menu {
  padding-right: 0; }
  @media (max-width: 991px) {
    header .menu {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      max-width: 100%;
      z-index: 100;
      padding: 0;
      display: none;
      background-color: #ec6a5c;
      align-items: center;
      justify-content: center; } }
  header .menu.show-menu {
    display: flex; }
  @media (max-width: 991px) {
    header .menu nav {
      padding: 10%; } }
  @media (min-width: 992px) {
    header .menu nav {
      float: right; } }
  header .menu nav ul {
    overflow: hidden;
    margin: 0;
    padding: 0; }
    header .menu nav ul li {
      float: left;
      list-style: none;
      padding: 1rem;
      width: 100%;
      border-bottom: 1px solid #e7402e; }
      @media (min-width: 992px) {
        header .menu nav ul li {
          width: auto;
          padding: 1rem 0.5rem;
          border-bottom: none;
          line-height: 100px; } }
      @media (min-width: 1200px) {
        header .menu nav ul li {
          padding: 1rem; } }
      header .menu nav ul li a {
        color: #fff;
        text-decoration: none;
        transition: all 0.25s ease; }
        @media (min-width: 992px) {
          header .menu nav ul li a {
            color: #333; } }
        header .menu nav ul li a.active, header .menu nav ul li a:hover {
          border-bottom: 3px solid #ec6a5c; }
        header .menu nav ul li a img {
          max-width: 30px; }
@media (max-width: 991px) {
  header .menu-button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1.5rem;
    z-index: 500;
    display: block; } }
@media (min-width: 992px) {
  header .menu-button {
    display: none; } }
header .menu-button svg {
  width: 30px;
  height: 30px; }

.subpage-headline {
  border-bottom: 1px solid #f2f2f2;
  padding-top: 3rem; }
  @media (min-width: 768px) {
    .subpage-headline {
      padding-top: 5rem; } }
  .subpage-headline h1 {
    text-align: center; }

.welcome, .page-content {
  padding: 3rem 0; }
  @media (min-width: 768px) {
    .welcome, .page-content {
      padding: 5rem 0; } }

.video .wrapper {
  width: 100%;
  position: relative;
  height: 400px;
  overflow: hidden; }
  @media (min-width: 768px) {
    .video .wrapper {
      height: 500px; } }
  .video .wrapper video {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 400px;
    position: relative;
    z-index: 1;
    transform: translate(-50%, -50%); }
    @media (min-width: 768px) {
      .video .wrapper video {
        width: 100%;
        height: auto; } }
  .video .wrapper .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.3); }
  .video .wrapper .text {
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 1rem;
    max-width: 800px;
    color: #fff;
    text-align: center;
    z-index: 3;
    transform: translate(-50%, -50%); }
    .video .wrapper .text h5 {
      text-transform: uppercase; }

@media (min-width: 768px) {
  .carousel-indicators {
    bottom: 30px; } }

.party {
  align-items: stretch;
  justify-content: space-between; }
  .party .card {
    width: 100%;
    margin-bottom: 2rem;
    box-shadow: 0 0 0 -1px rgba(0, 0, 0, 0.5); }
    @media (min-width: 768px) {
      .party .card {
        margin-bottom: 2%;
        width: 49%; } }
    .party .card .card-header {
      background-color: #ec6a5c;
      color: #fff; }
      .party .card .card-header .headline {
        font-weight: bold;
        margin-bottom: 0;
        padding-bottom: 0; }

.offers {
  align-items: stretch;
  justify-content: space-between; }
  .offers .card {
    width: 100%;
    margin-bottom: 2rem;
    box-shadow: 0 0 0 -1px rgba(0, 0, 0, 0.5); }
    @media (min-width: 768px) {
      .offers .card {
        margin-bottom: 3rem;
        width: 32%; } }
    .offers .card .card-header {
      background-color: #ec6a5c;
      color: #fff; }
      .offers .card .card-header .headline {
        font-weight: bold;
        margin-bottom: 0;
        padding-bottom: 0; }

.table tbody tr td:nth-child(odd) {
  font-weight: bold; }

.map {
  margin-bottom: 3rem; }
  @media (min-width: 768px) {
    .map {
      margin-bottom: 5rem; } }
  .map iframe {
    width: 100% !important;
    height: 400px !important; }

footer {
  background-color: #ec6a5c;
  color: #fff;
  padding: 3rem 0; }
  @media (min-width: 768px) {
    footer {
      padding: 5rem 0; } }
  footer .col-sm-4 {
    margin-bottom: 3rem; }
    @media (min-width: 768px) {
      footer .col-sm-4 {
        margin-bottom: 0; } }
  footer ul {
    padding: 0;
    margin: 0; }
    footer ul li {
      list-style: none;
      line-height: 32px; }
      footer ul li a {
        color: #fff; }
