/*
 Theme Name:   wp-bootstrap-starter aec 2018
 Description:  wp-bootstrap-starter aec 2018
 Author:       Ars Electronica / Martin Hieslmair, Christoph Hofbauer, Fadil Kujundzic
 Author URI:   https://ars.electronica.local/
 Template:     wp-bootstrap-starter
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  wp-bootstrap-starter-aec2018
*/

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

@import url("https://ars.electronica.art/webfont_aec/webfont.css");

@import url("/webfont_ibm_plex/css/ibm-plex.css");

html {
  /* margin: 0; */
}

body {
  font-family: "IBM Plex Sans";
  font-size: 17px;
  color: #333333;
}

#page.site {
  overflow-x: hidden;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 0.313rem;
  line-height: normal;
  padding: 0.938rem 1.438rem 0.875rem;
  text-decoration: none;
  top: 0.313rem;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

#primary {
  padding-left: 0;
  padding-right: 0;
}

.entry-content .row,
#footer-widget .row {
  /*max-height: 300px;*/
  margin-left: -0.125rem;
  margin-right: -0.125rem;
}

.entry-content .row div[class^="col"],
#footer-widget .row div[class^="col"] {
  /*ax-height: 300px;*/
  padding-left: 0.125rem;
  padding-right: 0.125rem;
  margin-bottom: 0.25rem;
}

.textwidget {
  color: #333;
}

@media (min-width: 600px) {
  .two-columns {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 3em;
    -moz-column-gap: 3em;
    column-gap: 3em;
  }
}

@media (max-width: 600px) {
  .two-columns {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 3em;
    -moz-column-gap: 3em;
    column-gap: 3em;
  }
}

.tag-cloud-link {
  background-color: #dcdcdc;
  padding: 0.2rem 0.3rem;
  line-height: 2rem;
}

.tag-cloud {
  text-align: center;
}

.entry-content .row div[class^="col"].no-margin {
  margin-bottom: 0;
}

.entry-content .row div[class^="col"].no-margin > .row {
  height: 100%;
}

.entry-content .row img {
  object-position: 50% 50%;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.entry-content .row img.noscale {
  object-position: unset;
  object-fit: unset;
  width: auto;
  height: auto;
}

a img.alignnone {
  margin: 0 !important;
}

a[name] {
  /* anchor offset */
  padding-top: 4rem;
  margin-top: -4rem;
  display: inline-block;
}

.overlay {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  top: 20px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-shadow: 0 0 3px #333333;
}

.overlay p {
  /*padding-left: 0 !important;
  padding-right: 0 !important;  */
  text-align: center;
}

.overlay h1,
.overlay h2,
.overlay h3,
.overlay h4,
.overlay h5,
.overlay h6 {
  text-align: center;
  font-weight: bold;
}

.overlay.invert p,
.overlay.invert h1,
.overlay.invert h2,
.overlay.invert h3,
.overlay.invert h4,
.overlay.invert h5,
.overlay.invert h6 {
  display: inline-block;
  color: #000;
  background: #fff;
  line-height: 1;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 3px;
  padding-bottom: 3px;
  white-space: initial !important;
  text-shadow: none !important;
}

.overlay.transparent p,
.overlay.transparent h1,
.overlay.transparent h2,
.overlay.transparent h3,
.overlay.transparent h4,
.overlay.transparent h5,
.overlay.transparent h6 {
  display: inline-block;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.5);
  line-height: 1;
  padding: 5px;
}

.blink {
  animation: blinker 3s ease-in-out infinite;
}

@keyframes blinker {
  50% {
    opacity: 0;
  }
}

/*========== page-sub-header==========================*/

.imgfluidimportant {
  height: auto !important;
  max-width: 100% !important;
  width: initial;
}

.post-thumbnail .header-image .no-image {
  height: 100%;
}

/*=======================entry-content======================*/

h1.entry-title {
  font-size: 3rem !important;
  border: none !important;
}

article .entry-content {
  margin-top: 1.5rem;
}

article .entry-content > a.flickr-shortcode-image {
  padding-left: 1.5rem;
}

div.high {
  clear: both;
  height: 60px;
}

.accordion button {
  color: #000;
  font-size: 1.5rem;
  padding: 0px;
}

.accordion h5 .btn {
  white-space: normal;
  text-align: left;
}

figure {
  width: 100%;
}

figure > img {
  width: 100%;
}

figcaption {
  padding-top: 1.1rem;
  padding-bottom: 1.1rem;
  font-size: small;
}

.storybig img {
  height: 100%;
}

/* hover overlays ------------------------------------------*/

.hoveroverlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: 0.5s ease;
}

.hovercontainer:hover .hoveroverlay {
  opacity: 1;
}

.hovertext {
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

.hovereffect:hover {
  /* for buttons */
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  left: 0;
  background-color: #000;
  opacity: 0.8;
  z-index: 100;
  display: block;
}

/*video banner ------------------------------------------------*/

.videobanner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.videobanner video {
  z-index: -100;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
}

.videobanner .videooverlay {
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  left: 0;
  height: 100%;
  width: 100%;
}

@media (pointer: coarse) and (hover: none) {
  .videobanner {
    background: url("noimage.jpg") black no-repeat center center scroll;
  }
  .videobanner video {
    display: none;
  }
}

/*responsive videos -------------------------------------------*/

.video-container {
  position: relative;
  padding-bottom: 56%;
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.crosslink a {
  text-decoration: none !important;
}
/*================================================================*/

/*buttons------------------------*/

.buttonsoverlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 0.5rem;
  margin-left: 0.125rem;
  margin-right: 0.125rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: start;
  text-align: left;
  text-shadow: 0 0 3px #333333;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0) 50%
  );
  transition: all 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
}

.buttonsoverlay > * {
  padding-left: 0.5rem !important;
}

.buttonsoverlay p {
  text-align: left;
  padding-right: 1rem !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  line-height: 1.5;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

.buttonsoverlay h1,
.buttonsoverlay h2,
.buttonsoverlay h3,
.buttonsoverlay h4,
.buttonsoverlay h5,
.buttonsoverlay h6 {
  text-align: left;
  font-weight: 400 !important;
  font-size: 140% !important;
}

.buttonsoverlay:hover {
  background-color: rgba(0, 0, 0, 0.5);
}

.btnempty {
  height: 150px;
  width: 100%;
}

.btnemptyoverlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 0.5rem;
  margin-left: 0.125rem;
  margin-right: 0.125rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 400 !important;
  font-size: 140% !important;
  text-shadow: 0 0 3px #333333;
  transition: all 0.2s;
}

.btnemptyoverlay:hover {
  background-color: rgba(0, 0, 0, 0.5);
}

/*cards--------------------------*/

.card,
.card-img-top {
  border-radius: 0;
}

h6.card-subtitle {
  font-size: 1rem;
  font-style: italic;
  padding-bottom: 1rem;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.card-body {
  text-decoration: none !important;
}

.card-text {
  margin-bottom: 1rem;
}

.card-title-shadow {
  color: #ffffff;
  text-shadow: 0 0 3px #333333 !important;
}

/*cookie-banner========================*/

#cookie-banner {
  position: fixed !important;
  bottom: 0 !important;
}

/*carousel ---------------------------------------*/

.carousel {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.carousel-caption-below {
  position: relative !important;
  left: auto;
  right: auto;
  height: auto;
  text-align: center;
  color: #ffffff;
  background: #777777;
  padding: 1rem;
}

/*footer-------------------------------------------------*/

.socialmedia a {
  height: 50px;
  width: 50px;
  display: inline-block;
  border: 1px solid #333333;
  border-radius: 50%;
  background: #333333;
  color: #fff;
  font-size: 25px;
  line-height: 50px;
  vertical-align: middle;
  margin: 0 10px;
}

.socialmedia a:hover {
  color: #fff;
  background: #000;
}

.socialmedia {
  margin: 2px 0px 15px;
}

.site-info {
  color: rgb(120, 120, 120);
}

footer#colophon {
  background: transparent !important;
}

/*kalender ============================================*/

.calendar {
  margin-right: 5px;
  margin-left: 5px;
}

.single .calendar {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.calendar .row {
  border-top: 1px solid #dee2e6;
  padding-top: 5px;
  padding-bottom: 5px;
}

.calendar .row.over {
  color: #888;
}

.calendar .over a {
  color: #888;
}

.calendar .over .badge {
  background-color: #888;
}

.calendar .row:hover {
  background: #ececec;
}

.calendar a:hover {
  text-decoration: none;
}

.calendar .btn {
  margin-bottom: 5px;
}

.calendar h2 {
  font-size: 1.7rem;
}

.calendar .prev-next {
  margin-bottom: 20px;
  margin-right: 0px;
  margin-left: 0px;
}

.calendar-filter {
  color: white;
}

.calendar-filter ul {
  list-style: none;
  padding: 0;
}

.calendar-filter ul li {
  padding-top: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid;
  cursor: pointer;
}

.calendar-filter ul li .fa-check {
  margin: 0px 10px;
  display: none;
}

.calendar-filter ul li.active .fa-check {
  display: inline;
}

.calendar-filter ul li .not {
  width: 40px;
  display: inline-block;
}

.calendar-filter ul li.active .not {
  display: none;
}

.calendar-filter ul li .txt {
  display: inline;
}

@media (min-width: 576px) {
  .socialmedia a {
    margin: 0 5px;
  }
  .calendar {
    margin-right: 15px;
    margin-left: 15px;
  }
  .calendar h2 {
    font-size: 2.5rem;
  }
  .calendar .prev-next {
    margin-right: 10px;
    margin-left: 10px;
  }
}
