/*
 Theme Name:   Kulturzwickl
 Theme URI:    https://www.kulturzwickl.at/
 Description:  GeneratePress Child-Theme for Kulturzwickl
 Author:       Fabian Todt (mail@fabiantodt.at)
 Author URI:   https://fabiantodt.at
 Template:     generatepress
 Version:      1.3.1
*/

/** FONTS **/
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local(''),
    url('fonts/lato-v23-latin-regular.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('fonts/lato-v23-latin-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local(''),
    url('fonts/lato-v23-latin-italic.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('fonts/lato-v23-latin-italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local(''),
    url('fonts/lato-v23-latin-700.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('fonts/lato-v23-latin-700.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-700italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local(''),
    url('fonts/lato-v23-latin-700italic.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('fonts/lato-v23-latin-700italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-900 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  src: local(''),
    url('fonts/lato-v23-latin-900.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('fonts/lato-v23-latin-900.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-900italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 900;
  src: local(''),
    url('fonts/lato-v23-latin-900italic.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('fonts/lato-v23-latin-900italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

:root {
  --section-padding: 1.5rem;
  --container-size: 1200px;
}

/** BASE **/

html,
body {
  scroll-behavior: smooth;
}

html {
  height: 100%;
}

body {
  height: 100%;
  display: flex;
  flex-direction: column;
}

body>#page {
  flex-grow: 1;
  width: 100%;
}

strong {
  font-weight: 900;
}

/** LAYOUT **/
.separate-containers .site-main {
  margin: 0;
}

body.right-sidebar #right-sidebar {
  margin-left: 1.5rem;
}

body.right-sidebar.separate-containers .inside-right-sidebar {
  margin-top: 0;
  margin-bottom: 0;
}

@media(max-width: 768px) {
  body.right-sidebar #right-sidebar {
    margin-left: 0;
  }
}

.single-post.separate-containers .site-main {
  padding: var(--section-padding);
}

.single-post.separate-containers .inside-article {
  padding: 0;
}


/** MENU **/
.site-header {
  padding-left: var(--section-padding);
  padding-right: var(--section-padding);
}

.site-header .inside-header {
  padding-left: 0;
  padding-right: 0;
}

@media(max-width: 768px) {
  .main-navigation ul.menu {
    position: absolute;
    background-color: var(--accent);
    width: 100%;
    width: calc(100% + 40px);
    box-shadow: 0px 10px 9px -1px rgba(0, 0, 0, 0.2);
    left: -20px;
    padding: 20px;
  }

  .main-navigation .main-nav ul li a {
    padding-left: 0;
    padding-right: 0;
  }

  .main-navigation .navigation-branding {
    margin-left: 0;
  }

  .main-navigation .menu-toggle {
    background-color: var(--contrast-lighter);
    color: var(--contrast);
    padding: 5px 10px !important;
    transition: all 0.2s ease-in;
    transition-property: color, background-color;
  }

  .main-navigation .menu-toggle:hover,
  .main-navigation .menu-toggle:focus {
    background-color: var(--accent);
    color: var(--base);
  }

  .has-inline-mobile-toggle #site-navigation.toggled {
    margin-top: 0;
  }
}

/** FOOTER **/
.site-footer a {
  text-decoration: none;
}

.site-footer p:last-child {
  margin-bottom: 0;
}

@media(max-width: 768px) {
  .site-footer .wp-block-social-links {
    justify-content: center !important;
  }
}

/** SECTIONS **/
section.gb-container {
  padding-left: var(--section-padding);
  padding-right: var(--section-padding);
}

/** SIDEBARS **/
.sidebar aside.gb-container p:last-child {
  margin-bottom: 0;
}

body.right-sidebar #right-sidebar .inside-right-sidebar {
  position: relative;
}

body.right-sidebar #right-sidebar .inside-right-sidebar::before {
  --dots-size: 0.5rem;
  content: "";
  height: 100%;
  display: block;
  position: absolute;
  width: var(--dots-size);
  background-image: url("assets/dots-vertical.svg");
  background-size: var(--dots-size);
  background-repeat: repeat-y;
  margin-top: 1.5rem;
  left: -0.75rem;
}

/** ELEMENTS **/

.button,
.wp-block-button a.wp-block-button__link,
.wp-element-button {
  --button-padding: 3px 20px;
  border-radius: 0 !important;
  border-width: 3px !important;
  border-style: solid !important;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.button--primary,
.wp-block-button a.wp-block-button__link,
.wp-block-button.is-style-fill a.wp-block-button__link,
.wp-element-button {
  background-color: var(--accent);
  color: #ffffff;
  border-color: var(--accent);
  padding: var(--button-padding);
  font-weight: bold;
  letter-spacing: -0.5px;

}

button:hover,
button:focus,
html input[type="button"]:hover,
html input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.button:hover,
.button:focus,
.button--primary:hover,
.button--primary:focus,
.wp-block-button a.wp-block-button__link:hover,
.wp-block-button a.wp-block-button__link:focus,
.wp-block-button.is-style-fill a.wp-block-button__link:hover,
.wp-block-button.is-style-fill a.wp-block-button__link:focus,
.wp-element-button:hover,
.wp-element-button:focus {
  background-color: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--base);
}

.button.button--secondary,
.wp-block-button.is-style-outline a.wp-block-button__link {
  transition: .2s background-color ease-in-out, .2s color ease-in-out, .2s border-color ease-in-out;
  background-color: transparent;
  color: var(--accent);
  border-color: var(--accent);
  padding: var(--button-padding);
}

.wp-block-button.is-style-outline a.wp-block-button__link:not(.has-text-color) {
  color: var(--accent) !important;
}

.button.button--secondary:hover,
.button.button--secondary:focus,
.wp-block-button.is-style-outline a.wp-block-button__link:hover,
.wp-block-button.is-style-outline a.wp-block-button__link:focus {
  background-color: var(--accent);
  color: var(--base);
  border-color: var(--accent);
}

.wp-block-button.is-style-outline a.wp-block-button__link:not(.has-text-color):hover,
.wp-block-button.is-style-outline a.wp-block-button__link:not(.has-text-color):focus {
  color: var(--base) !important;
}

input {
  accent-color: var(--accent);
}

.button--tertiary,
.wp-block-button.is-style-link a.wp-block-button__link {
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  border: none !important;
  color: var(--accent);
  position: relative;
  padding-left: 1.5em;
}

.button--tertiary::before,
.wp-block-button.is-style-link a.wp-block-button__link::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' role='img' height='1em' width='1em' viewBox='0 0 256 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2393202c' d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'%3E%3C/path%3E%3C/svg%3E");
  width: 1em;
  height: 1em;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease-in-out;
  background-repeat: no-repeat;
}

.button--tertiary:hover,
.button--tertiary:focus,
.wp-block-button.is-style-link a.wp-block-button__link:hover,
.wp-block-button.is-style-link a.wp-block-button__link:focus {
  background-color: transparent;
  border: none;
  color: var(--accent-dark);
}

.button--tertiary:hover::before,
.button--tertiary:focus::before,
.wp-block-button.is-style-link a.wp-block-button__link:hover::before,
.wp-block-button.is-style-link a.wp-block-button__link:focus::before {
  transform: translate(0.5em, -50%);
}

/** BLOCKS **/

.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
  padding-left: 1rem;
}

.wp-block-media-text .wp-block-media-text__content p:last-child {
  margin-bottom: 0;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  padding-left: 0;
  padding-right: 1rem;
}

@media(max-width: 768px) {
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    padding-top: 1rem;
  }
}

ul.is-style-dash {
  margin-left: 0.5em;
  list-style-type: '- ';
}

.wp-block-separator.is-style-dots {
  --dots-size: 1.5rem;
  background-color: transparent !important;
  /* background-image: radial-gradient(circle at center, var(--accent) 0%, var(--accent) 47%, var(--accent) 47%, #fff 50%, #fff 50%) !important;
  height: var(--dots-size);
  background-repeat: repeat-x !important;
  background-size: var(--dots-size) var(--dots-size) !important;*/

  height: var(--dots-size);
  background-image: url("assets/dots.svg") !important;
  background-size: var(--dots-size) !important;
  background-repeat: repeat-x !important;
}

.wp-block-separator.is-style-dots:before {
  content: "";
  display: none;
}

.wp-block-file:not(.wp-element-button) {
  font-size: inherit !important;
}

.wp-block-table table,
.wp-block-table th,
.wp-block-table tr,
.wp-block-table td {
  border-color: var(--contrast-light);
}

.wp-block-table.is-style-borderless table {
  border: none;
}

.wp-block-table.is-style-borderless th {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: left;
  padding-left: 0;

}

.wp-block-table.is-style-borderless td {
  padding-left: 0;
  border: none;
}

.wp-block-column .wp-block-table:last-child table {
  margin-bottom: 0;
}

/** COMPONENTS **/

.box p:last-child {
  margin-bottom: 0;
}

/** NEWSLETTER SINGUP **/
.cf7-form {
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: 1fr 1fr auto;
  column-gap: 1.5rem;
  align-items: flex-end;
}

.cf7-form .cf7-form__field {
  position: relative;
}

.cf7-form .cf7-form__field p {
  margin: 0;
}

.cf7-form .cf7-form__field .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}

.cf7-form .cf7-form__field .wpcf7-form-control-wrap>* {
  width: 100%;
}

.cf7-form .cf7-form__field.cf7-form__field--email {
  grid-row: 2;
  grid-column: 1;
}

.cf7-form .cf7-form__field.cf7-form__field--name {
  grid-row: 2;
  grid-column: 2;
}

.cf7-form .cf7-form__field.cf7-form__field--submit {
  padding-top: 1.5em;
  grid-row: 2;
  grid-column: 3;
  position: relative;
}

@media(max-width: 768px) {
  .cf7-form {
    margin-top: 2rem;
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }

  .cf7-form .cf7-form__field.cf7-form__field--email,
  .cf7-form .cf7-form__field.cf7-form__field--name,
  .cf7-form .cf7-form__field.cf7-form__field--submit {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }
}

.cf7-form .cf7-form__field.cf7-form__field--submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cf7-form input[type="text"],
.cf7-form input[type="email"] {
  background-color: transparent;
  border: none;
  border-bottom: 2px solid var(--contrast-lighter);
  color: var(--contrast-lighter);
}

.cf7-form input[type="text"]:focus,
.cf7-form input[type="email"]:focus {
  background-color: var(--contrast-lighter);
  color: var(--contrast);
}

.cf7-form label {
  color: var(--contrast-lighter);
}

.cf7-form input {
  accent-color: var(--contrast-lighter);
}

.cf7-form button,
.cf7-form input[type="submit"] {
  background-color: var(--contrast-lighter);
  color: var(--accent);
  border: 3px solid var(--contrast-lighter);
  padding: 5px 10px;
}

.cf7-form button:focus,
.cf7-form input[type="submit"]:focus,
.cf7-form button:hover,
.cf7-form input[type="submit"]:hover {
  background-color: transparent !important;
  border-color: var(--contrast-lighter) !important;
  color: var(--contrast-lighter) !important;
}

.cf7-form .cf7-form__field .wpcf7-not-valid-tip {
  font-size: 14px;
  color: var(--accent-light);
  position: absolute;
}

.cf7-form+.wpcf7-response-output {
  background-color: var(--contrast-lighter) !important;
  color: var(--contrast) !important;
  border: none !important;
  margin-top: 3.5em !important;
}

.news-slider .wp-block-media-text {
  gap: 1.5rem;
}

.news-slider .wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}

.news-slider-wrapper {
  --navigation-button-spacing: 1rem;
  --navigation-button-size: 2rem;
  --navigation-button-color: var(--contrast-light);
  display: flex;
  align-items: center;

  width: calc(100% + (var(--navigation-button-size) + var(--navigation-button-spacing)) * 2);
  margin-left: calc((var(--navigation-button-size) + var(--navigation-button-spacing)) * -1);
}

.news-slider-wrapper .swiper-button-next,
.news-slider-wrapper .swiper-button-prev {
  position: static;
  margin: 0;
  height: auto;
  width: auto;
}

.news-slider-wrapper .swiper-button-prev {
  margin-right: var(--navigation-button-spacing);
}

.news-slider-wrapper .swiper-button-next {
  margin-left: var(--navigation-button-spacing);
}

.news-slider-wrapper .swiper-button-next::after,
.news-slider-wrapper .swiper-button-prev::after {
  display: none;
}

.news-slider-wrapper .swiper-button-next {
  border-top: solid var(--navigation-button-size) transparent;
  border-left: solid var(--navigation-button-size) var(--navigation-button-color);
  border-bottom: solid var(--navigation-button-size) transparent;
}

.news-slider-wrapper .swiper-button-prev {
  border-top: solid var(--navigation-button-size) transparent;
  border-right: solid var(--navigation-button-size) var(--navigation-button-color);
  border-bottom: solid var(--navigation-button-size) transparent;
}

.news-slider-wrapper .wp-block-media-text .wp-block-media-text__media {
  border: 10px solid var(--base);
  width: 100%;
  height: 340px;
  position: relative;
}

.news-slider-wrapper .wp-block-media-text .wp-block-media-text__media img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.news-slider-wrapper .wp-block-media-text .wp-block-media-text__content p:last-child {
  margin-bottom: 0;
}

.news-slider-wrapper .swiper-pagination {
  position: static;
  margin-top: 2rem;
  --swiper-pagination-color: var(--contrast);
}

@media (max-width: 768px) {
  .news-slider-wrapper {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .news-slider-wrapper .wp-block-media-text .wp-block-media-text__content {
    margin-top: 1rem;
    padding: 0;
  }

  .news-slider-wrapper .swiper-button-next,
  .news-slider-wrapper .swiper-button-prev {
    display: none !important;
  }
}

.sponsors .sponsors__item figcaption {
  font-size: 16px;
}

.sponsors .sponsors__item figcaption a {
  text-decoration: none;
}

/** PLUGINS **/
.embed-privacy-container.embed-google-maps {
  max-width: 800px;
  height: 600px;
}

.embed-privacy-container.embed-google-maps .embed-privacy-url {
  display: none !important;
}

.embed-privacy-container.embed-bandcamp-com {
  width: auto;
  aspect-ratio: initial;
}

.embed-privacy-container.embed-bandcamp-com .embed-privacy-overlay {
  min-height: 0;
  width: auto;
}

/** UTILITIES **/
.ml-0 {
  margin-left: 0 !important;
}