/* Základní styly */
* {
  padding: 0;
  margin: 0;
}
.center {
  text-align: center;
}
body {
  background-size: contain;
  background-color: black;
  width: 100vw;
  overflow-x: hidden;
}
header {
  width: 100vw;
  height: 37.1vw;
  overflow: hidden;
  position: relative;
}
header img {
  width: 100%;
  position: absolute;
  background-size: cover;
  top: 0;
}
.navigace {
  width: 100%;
  background-color: #000000d1;
  position: absolute;
  font-family: 'Vollkorn', sans-serif;
  bottom: 0;
  text-transform: uppercase;
}
.icon {
  display: none;
}
header nav {
  width: 1024px;
  margin: 0 auto;
  text-align: center;
  height: 50px;
}
header nav div a {
  display: inline-block;
  padding: 15px 10px;
  margin: 0 5px;
  text-decoration: none;
  color: white;
  border: none;
}
header nav div a:hover {
  text-decoration: underline;
}
a {
  color: #efb940;
}
h1 {
  color: #efb940;
  font-size: 2em;
  font-family: Righteous, 'sans-serif';
  text-align: center;
}
h2 {
  color: white;
  font-size: 1.5;
  font-family: Vollkorn, sans-serif;
}
.h1-img {
  text-align: center;
  box-sizing: border-box;
  padding: 20px 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 40px;
  width: 100%;
}
.h1-img span {
  color: #efb940;
  font-size: 40px;
  margin: 0px 15px;
}
.h1-img span:last-of-type {
  transform: rotate(180deg);
}
/* SPECIAL SERIES */
.looking-for {
  color: red;
  text-align: center;
  font-size: 30px;
}
.special {
  padding: 40px 0px 0px 0px;
}
.special img {
  width: 100%;
  height: auto;
}
.special span {
  display: block;
  text-align: center;
  position: relative;
  margin: 0 auto;
  font-size: 1.2em;
  margin-bottom: 15px;
}
.special-link {
  display: block;
  text-align: center;
  position: relative;
  margin: 0 auto;
  margin-top: 15px;
  margin-bottom: 20px;
}
.special-link a {
  color: red;
  height: 1.4em;
  text-decoration: none;
}
/* PULSE */
.pulse {
    -webkit-animation: pulse 2000ms infinite;
            animation: pulse 2000ms infinite;
}
@-webkit-keyframes pulse {
	0% { color: red; }
	50% { color: yellow; }
  100% { color: red; }
}
@keyframes pulse {
	0% { color: red; }
	50% { color: yellow; }
  100% { color: red; }
}


footer {
  position: relative;
  width: 100%;
  background:
    repeating-linear-gradient(190deg, rgba(0, 0, 0, 0.48) 40px,        rgba(255, 153, 0, 0.5) 80px, rgba(0, 0, 0, 0.5) 120px,        #000000 160px, rgba(0, 0, 0, 0.5) 200px,        rgb(0, 0, 0) 240px, rgba(0, 0, 0, 0.5) 280px,        rgba(0, 0, 0, 0.5) 300px),      repeating-linear-gradient(-190deg, rgb(0, 0, 0) 30px,        rgba(255, 153, 0, 0.5) 60px, rgba(255, 255, 0, 0.5) 90px,        rgb(239, 185, 63) 120px, rgba(255, 0, 0, 0.5) 150px,        rgba(255, 209, 43, 0.5) 180px, rgba(0, 0, 0, 0.5) 210px,        rgba(0, 0, 0, 0.5) 230px),      repeating-linear-gradient(23deg, black 50px, #000000a6 100px,        black 150px, #FFC107 200px, black 250px,        black 300px, black 350px, black 370px);
}
.footer-box {
  width: 1024px;
  margin: 0 auto;
  padding: 30px 0px;
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}
.footer-box a {
  margin: 10px;
}
.footer-box a:hover {
  transform: scale(1.05);
  transition-duration: 0.5s;
}
.footer-box a:nth-of-type(1) {
  width: 30%;
  height: auto;
}
.footer-box a:nth-of-type(2) {
  width: 129px;
}
.footer-box a:nth-of-type(3) {
  width: 129px;
}
.footer-box a:nth-of-type(4) {
  width: 129px;
}
.footer-box a:nth-of-type(5) {
  width: 36%;
}
.footer-box a:nth-of-type(6) {
  width: 36%;
}
.footer-box a img {
  width: 100%;
  height: auto;
  box-shadow: 0px 0px 10px black;
  border: 5px solid black;
  box-sizing: border-box;
}

/****************
Stylování stránek
****************/

@media screen and (min-width: 1024px) {
  main {
    width: 1024px;
    padding: 80px;
    margin: 0 auto;
    position: relative;
    color: white;
    box-sizing: border-box;
    font-size: 1.2em;
  }
}
/* Novinky */
.video {
  width: 100%;
  height: 576px;
  position: relative;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 4px solid white;
  border-radius: 5px;
  box-shadow: 0px 0px 15px #fff;
  box-sizing: border-box;
}
.novinky {
  position: relative;
  width: 100%;
  margin: 10px auto 0 auto;
}
.novinky article {
  margin-bottom: 30px;
}
.novinky article .datum {
  font-style: italic;
  color: #efb940;
}

/* Koncerty */
.koncerty {
  display: block;
}
.koncerty ul {
  margin-bottom: 40px;
}
.koncerty li {
  display: inline-block;
  margin: 10px 0;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  box-shadow: 0px 0px 15px #fff;
}
.datum-koncertu {
  margin-right: 20px;
}
.concert-archive {
  text-align: center;
  display: block;
  margin: 0 auto;
  padding: 10px 20px;
  box-shadow: 0px 0px 15px white;
  background-color: black;
  width: 200px;
  color: white;
  text-transform: uppercase;
}
.concert-archive:hover {
  box-shadow: 0px 0px 15px #efb940;
  background-color: black;
  color: #efb940;
}

/* MP3 a video */
.audio {
  margin-bottom: 20px;
}
.audio audio {
  width: 100%;
  background-color: black;
}
.videos {
  width: 100%;
  height: 480px;
  position: relative;
  overflow: hidden;
  border: 4px solid white;
  box-shadow: 0px 0px 15px #fff;
  box-sizing: border-box;
}
.videos iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.videos-p {
  position: relative;
  width: 100%;
  height: auto;
  padding: 20px;
  box-sizing: border-box;
  background-color: white;
  color: black;
  margin-bottom: 20px;
  box-shadow: 0px 0px 15px #fff;
  text-align: center;
}
.jana button {
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  margin: 10px 0px;
}
.jana-solo {
  padding: 10px 20px;
  box-sizing: border-box;
}
.ostatni-solo {
  padding: 10px 20px;
  box-sizing: border-box;
}
#jana-box {
  display: none;
  padding: 20px;
}
#ostatni-videa {
  display: none;
  padding: 20px;
}
#play-list {
  padding: 20px 20px 20px 60px;
  display: none;
}
.button {
  background-color: black;
  font-size: 30px;
  border: 0;
  box-shadow: 0px 0px 15px white;
  color: white;
  cursor: pointer;
  font-family: 'Righteous', 'sans-serif';
}
.button:hover {
  box-shadow: 0px 0px 15px #efb940 !important;
}
.button:focus {
  box-shadow: 0px 0px 15px #efb940 !important;
  color: #efb940 !important;
  outline: none;
}
.button:visited {
  color: white;
  box-shadow: 0px 0px 15px white;
}

/* Vzkazy */
.vzkaz {
  padding: 20px;
  box-sizing: border-box;
  background-color: #000000c9;
  color: #ffffffe6;
  margin: 25px 0;
  box-shadow: 0px 0px 15px #fff;
}
.cara {
  margin: 0 10px;
}
.messenger {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
input, textarea {
  color: #efb940;
  background-color: black;
  border: 1px solid #efb940;
  outline: none;
  line-height: 30px;
  font-size: 20px;
  margin: 10px 0px;
  padding: 10px;
  box-sizing: border-box;
  width: 100%;
}
input:focus, textarea:focus {
  box-shadow: 0px 0px 15px #efb940;
  border: 1px solid #efb940;
}
textarea {
  min-width: 100%;
}
.input-name {
  width: 25%;
}
.input-email {
  width: 65%;
}
.input-radio {
  width: auto;
  padding: 10px;
  box-sizing: border-box;
  margin: 0;
  color: yellow;
}
.radio-text {
  width: 80%;
}
.button-primary {
  padding: 10px 20px;
  background-color: #efb940;
  color: black;
  float: right;
}
.messenger button:hover {
  color: #efb940;
  background-color: black;
}
#formResponse {
  width: 70%;
  height: 40vh;
  text-align: center;
  box-sizing: border-box;
  padding: 30%;
  box-shadow: 0px 0px 15px #efb940;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
/* Historie */
.historie h1 {
  padding: 20px;
}
.historie p {
  margin-bottom: 20px;
  text-align: center;
}
.historie img {
  width: 50%;
  float: left;
  border: 4px solid black;
  box-sizing: border-box;
  filter: grayscale(100%);
  position: relative;
  margin-bottom: 20px;
}

/* Kontakt */
.odkazy {
  padding: 20px 0px;
}
.odkazy ul li {
  margin: 10px 0;
  display: block;
}
.odkazy a {
  color: #efb940;
  text-decoration: none;
}
.kontakt {
  margin-bottom: 40px;
  height: 200px;
}
.left {
  float: left;
}
.right {
  float: right;
}
.left, .right {
  width: 49%;
}
.left h2, .right h2 {
  background-color: #efb940;
  color: black;
  margin-bottom: 10px;
}
.left ul li, .right ul li {
  display: block;
  padding: 4px 0px;
}
.wtt-h1 {
  color: #6566fb;
}
.wtt {
  margin-top: 20px;
  margin-bottom: 40px;
}
.wtt img {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.kontakt-places {
  margin: 15px 0px;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  color: white;
  box-shadow: 0px 0px 15px white;
}
.kontakt-places:nth-of-type(2) {
  margin-bottom: 50px;
  margin-top: 0;
}
.kontakt-places a {
  color: white;
  font-weight: bold;
}
.kontakt-technics {
  padding: 20px;
  box-sizing: border-box;
}
.con {
  font-size: 22px;
  margin-bottom: 10px;
}

/* Sestava */
.osobnosti {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.old-heading {
  padding-top: 60px;
}
.osoba-person p {
  margin-bottom: 20px;
}
.osoba-person img {
  width: 100%;
  height: auto;
}
.osoba {
  height: 400px;
  width: 268px;
  margin: 10px;
  box-shadow: 0px 0px 15px #fff;
  position: relative;
}
.osoba h2 {
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.osoba img {
  width: 100%;
  position: absolute;
  top: 70px;
  height: 268px;
  background-color: #efb940;
}
.osoba h3 {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.byvali {
  width: 100%;
  display: block;
}
.byvali ul {
  text-align: center;
}
.byvali li {
  display: block;
  padding: 5px 10px;
  box-sizing: border-box;
}

/****************
  MEDIA QUERIES
****************/

/* Styly pro klasické tablety */
@media screen and (min-width: 850px) and (max-width: 1023px) {
  main {
    width: 850px;
    padding: 60px;
    margin: 0 auto;
    position: relative;
    color: white;
    box-sizing: border-box;
    font-size: 1.2em;
  }
  header {
    height: 37.1vw;
  }
  header nav {
    width: 850px;
  }
  header nav div a {
    margin: 0px;
  }
  .video {
    height: 478px;
  }
  .videos {
    height: 478px;
  }
  .footer-box {
    width: 850px;
  }
  .footer-box a:nth-of-type(5) {
    width: 40%;
  }
  .footer-box a:nth-of-type(6) {
    width: 40%;
  }
}

/* Styly pro phablety a malé tablety */
@media screen and (min-width: 668px) and (max-width: 849px) {
  main {
    width: 668px;
    padding: 40px;
    margin: 0 auto;
    position: relative;
    color: white;
    box-sizing: border-box;
    font-size: 1.2em;
  }
  header {
    height: auto;
  }
  header nav {
    width: 100%;
  }
  header img {
    position: relative;
  }
  .navigace {
    position: relative;
  }
  .video {
    height: 376px;
  }
  .videos {
    height: 376px;
  }
  .footer-box {
    width: 668px;
  }
  .footer-box a:nth-of-type(2) {
    width: 110px;
  }
  .footer-box a:nth-of-type(3) {
    width: 110px;
  }
  .footer-box a:nth-of-type(4) {
    width: 110px;
  }
  .footer-box a:nth-of-type(5) {
    width: 40%;
  }
  .footer-box a:nth-of-type(6) {
    width: 46%;
  }
  .kontakt {
    height: 365px;
  }
  .left {
    float: none;
  }
  .right {
    float: none;
    margin-top: 20px;
  }
  .left, .right {
    width: 100%;
  }
}

/* Styly pro větší mobilní zařízení */
@media screen and (min-width: 420px) and (max-width: 667px) {
  main {
    width: 420px;
    padding: 10px;
    margin: 0 auto;
    position: relative;
    color: white;
    box-sizing: border-box;
    font-size: 1.2em;
  }
  .video {
    height: 236px;
  }
  .videos {
    height: 236px;
  }
  .historie img {
    width: 100%;
    float: none;
  }
  .footer-box {
    width: 420px;
  }
  .footer-box a:nth-of-type(1) {
    width: 100%;
    height: auto;
  }
  .footer-box a:nth-of-type(2) {
    width: 120px;
  }
  .footer-box a:nth-of-type(3) {
    width: 120px;
  }
  .footer-box a:nth-of-type(4) {
    width: 120px;
  }
  .footer-box a:nth-of-type(5) {
    width: 420px;
  }
  .footer-box a:nth-of-type(6) {
    width: 420px;
  }
  .input-name {
    width: 100%;
  }
  .input-email {
    width: 100%;
  }
  .input-radio {
    width: 100%;
  }
  .radio-text {
    width: 100%;
  }
  .kontakt {
    height: 365px;
    margin-bottom: 100px;
  }
  .left {
    float: none;
  }
  .right {
    float: none;
    margin-top: 20px;
  }
  .left, .right {
    width: 100%;
  }
}

/* Styly pro malá mobilní zařízení */
@media screen and (max-width: 419px) {
  main {
    width: 100%;
    padding: 15px;
    margin: 0 auto;
    position: relative;
    color: white;
    box-sizing: border-box;
    font-size: 1.2em;
  }
  .video {
    height: 158px;
  }
  .videos {
    height: 158px;
  }
  .historie img {
    width: 100%;
    float: none;
  }
  .footer-box {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }
  .footer-box a:nth-of-type(1) {
    width: 100%;
    height: auto;
  }
  .footer-box a:nth-of-type(2) {
    width: 26%;
  }
  .footer-box a:nth-of-type(3) {
    width: 26%;
  }
  .footer-box a:nth-of-type(4) {
    width: 26%;
  }
  .footer-box a:nth-of-type(5) {
    width: 420px;
  }
  .footer-box a:nth-of-type(6) {
    width: 420px;
  }
  .input-name {
    width: 100%;
  }
  .input-email {
    width: 100%;
  }
  .input-radio {
    width: 100%;
  }
  .radio-text {
    width: 100%;
  }
  .kontakt {
    height: auto;
  }
  .left {
    float: none;
  }
  .right {
    float: none;
    margin-top: 20px;
  }
  .left, .right {
    width: 100%;
  }
}

/* Hlavička a navigace pro mobilní zařízení */
@media screen and (max-width: 849px) {
  header {
    height: auto;
    overflow: inherit;
  }
  header img {
    position: relative;
  }
  header nav {
    width: 100%;
    height: 100%;
  }
  header .navigace {
    position: relative;
  }
  header nav div a {
    margin: 0 !important;
  }
  .navbar a {
    padding: 10px 5px;
  }
  .navbar a:not(:last-child) {display: none;}
  .navbar .icon {
    display: block;
  }
  .icon {
    display: block;
    background-color: #efb940;
    color: black;
  }
  .navbar .respons {
    position: relative;
  }
  .navbar .respons .icon {
    position: absolute;
    right: 0;
    top: 0;
    background-color: red;
    width: 10px;
    height: 10px;
  }
  .respons a {
    float: none;
    display: block !important;
    text-align: center;
    z-index: 999;
  }
}

.videos-new {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0 auto;
}

.videos-new iframe {
  grid-auto-columns: auto;
  width: 100%;
  aspect-ratio: 4/3;
}

@media screen and (max-width: 768px) {
  .videos-new {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 480px) {
  .videos-new {
    grid-template-columns: 1fr;
  }
}