/*
Theme Name: Blue Note
Author: eloq GmbH
Author URI: https://eloq.swiss/
Description: Die eloq GmbH macht nicht einfach Internetseiten. Wir bieten Ihnen durchdachte Konzepte, mischen Designkompetenz mit technischem Können und streben so nach der perfekten Internet-Präsenz unseres Kunden. Das vorliegende Theme wurde von uns mit Passion und Freude handgefertigt. Wir hoffen, Ihnen gefällt unsere Arbeit!
Version: 1.5.7
*/

/* Imports */

@import url("css/typo.css");
@import url("css/utilities.css");
@import url("css/header.css");
@import url("css/footer.css");
@import url("css/placeholder.css");
@import url("css/event.css");
@import url("css/single-event.css");
@import url("css/eventserien.css");
@import url("css/programdetail.css");
@import url("css/programm.css");
@import url("css/home.css");
@import url("css/artists.css");
@import url("css/about.css");

/*
COLOR DEFINITIONS - GOES BELOW:
*/
:root  {
  --blue: #034883;
  --purple: #a38bc1;
  --green: #a9c6a9;
  --light-blue: #71b2d1;
  --red: #c1888f;
  --orange: #f49b5e;
  --yellow: #dabd72;
  --footer-blue: #f0f2f9;
}

/* === Theme Specific === */

/* ----- GENERAL ----- */

body {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}

body > main {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

section,
a {
  position: relative;
}

/* END GENERAL */

section.newsletter {
  background: var(--blue);
  color: #fff;
}

section.newsletter div.wpforms-container-full:not(:empty) {
  margin-bottom: 100px;
}

/* ----- WP ADMIN BAR ----- */

/*#wpadminbar {
    display: none;
  }*/

/* END WP ADMIN BAR */

/* ----- BUTTONS ----- */

/* Button classes:
        - btn_xyz_primary
        - btn_xyz_secondary 
*/

.hamburger .hamburger-box span,
.hamburger .hamburger-box span::after,
.hamburger .hamburger-box span::before {
  background: var(--blue);
}

/* Button Reset */

button {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
}

.btn {
  font-size: 18px;
}

.btn-primary {
  background: #fff;
  color: #004077;
  border-radius: 100px;
  border: 1px solid #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-within,
.btn-primary:focus-visible,
.btn-primary:active {
  background: #fff;
  background-color: #fff !important;
  color: #004077 !important;
  border-color: #fff !important;
  box-shadow: none;
}

.btn-secondary {
  background: transparent;
  color: #fff;
  border-radius: 100px;
  border: 1px solid #fff;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:focus-within,
.btn-secondary:focus-visible,
.btn-secondary:active {
  background: transparent;
  background-color: transparent !important;
  border-color: #fff !important;
  box-shadow: none;
}

.btn-primary:has(svg),
.btn-secondary:has(svg) {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
}

.btn-primary svg,
.btn-secondary svg {
  transition: transform 200ms ease-in;
}

.btn-primary:hover svg,
.btn-secondary:hover svg {
  transform: translateX(5px);
}

.btn-filter {
  border-color: transparent;
  border-radius: 25px;
  color: #fff;
}

.btn-filter.active {
  background: #fff;
  color: var(--blue);
}

/* END BUTTONS */

/* ----- LAZYLOAD EFFECT ----- */

img.bg_static_cover {
  -webkit-filter: blur(3px);
  filter: blur(3px);
  transition: filter 500ms, -webkit-filter 500ms;
}

img.bg_static_cover.lazyloaded {
  -webkit-filter: blur(0);
  filter: blur(0);
}

/* END LAZYLOAD EFFECT */
.swiper-slide {
  transition: opacity 300ms ease-in-out;
}

.swiper-slide-active + .swiper-slide-next + .swiper-slide,
.swiper-slide-prev {
  opacity: 0.5;
}

@media (max-width: 992px) {
  .swiper-slide-active + .swiper-slide-next {
    opacity: 0.5;
  }
}

.hidden {
  display: none;
}

.sharing svg {
  width: 20px;
  height: 20px;
  margin-right: 7px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 2px;
  text-transform: capitalize;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px;
  border: 1px solid #ddd;
  cursor: pointer;
}

.button:hover {
  border-color: #cdd;
}

.copy-link {
  padding-left: 30px;
  padding-right: 30px;
  flex-shrink: 0;
}

.share-dialog {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0%);
}

.share-dialog {
  display: none;
  width: 95%;
  max-width: 500px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
  z-index: -1;
  border: 1px solid #ddd;
  padding: 20px;
  border-radius: 4px;
  background-color: #fff;
}

.share-dialog.is-open {
  display: block;
  z-index: 2;
}

.targets {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
  margin-bottom: 20px;
}

.close-button {
  background-color: transparent;
  border: none;
  padding: 0;
}

.close-button svg {
  margin-right: 0;
}

.link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border-radius: 4px;
  background-color: #eee;
}

/* WPForms */

.wpforms-container .wpforms-field-container label {
  color: #fff !important;
  font-family: "IBM Plex Sans";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 4px !important;
}

.wpforms-container .wpforms-field-container label span {
  display: none !important;
}

.wpforms-container .wpforms-field-container input {
  background-color: transparent !important;
  border: 1px solid #fff !important;
  border-radius: 5px !important;
  color: #fff !important;
  padding: 12px 15px !important;
  height: max-content;
  min-height: 30px;
}

.wpforms-container ::-webkit-input-placeholder {
  /* Chrome and Safari */
  color: #fff !important;
  opacity: 1 !important;
}

.wpforms-container :-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #fff !important;
  opacity: 1 !important;
}

.wpforms-container ::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #fff !important;
  opacity: 1 !important;
}

.wpforms-container :-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #fff !important;
  opacity: 1 !important;
}

.wpforms-container ::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #fff !important;
  opacity: 1 !important;
}

.wpforms-container ::placeholder {
  color: #fff !important;
  opacity: 1 !important;
}

.wpforms-container .wpforms-submit-container button {
  background-color: transparent !important;
  background: transparent !important;
  border: 1px solid #fff !important;
  border-radius: 25px !important;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  padding-top: 4px !important;
  gap: 15px;
  transition: background 250ms ease-in-out;
}

.wpforms-container .wpforms-submit-container button:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}

.wpforms-container .wpforms-submit-container button::after,
.wpforms-container .wpforms-submit-container button:focus::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.01687 21.2757L6.95337 20.2122L15.1976 11.9679L6.95337 3.72366L8.01687 2.66016L17.3246 11.9679L8.01687 21.2757Z' fill='white'/%3E%3C/svg%3E%0A");
  position: relative !important;
  display: inline-block;
  height: 24px;
  width: 24px;
  top: -2.5px !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  border: none !important;
  transition: transform 250ms ease-in-out;
}

.wpforms-container .wpforms-submit-container button:hover::after {
  transform: translateX(5px);
}

.wpforms-container .wpforms-submit-container .wpforms-submit-spinner {
  position: absolute !important;
  top: 7px;
}

.wpforms-confirmation-container-full {
  color: #fff !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

div.wpforms-container-full .wpforms-confirmation-container-full p {
  color: #fff !important;
}
