.shadow-1 {
  box-shadow: 2px 2px 2px #0a3a65;
}
.shadow-2 {
  box-shadow: 4px 4px 16px #434d56;
}
.shadow-3 {
  box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0);
}
.shadow-4 {
  box-shadow: 0 24px 28px -12px #000000;
}
.shadow-5 {
  box-shadow: rgba(0, 0, 0, 0.15) 2.4px 2.4px 3.2px;
}
.shadow-6 {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px 2px, rgba(0, 0, 0, 0.3) 10px 10px 3px 2px;
}
.text-shadow-1 {
  text-shadow: 2px 2px 2px #484848bf;
}
/* Temporary */
#index-survey {
  position: absolute;
  right: 20px;
  top: 10px;
  color: #fdfdfd;
  opacity: 0;
  -webkit-transition: 4s all ease-in-out;
  -moz-transition: 4s all ease-in-out;
  -o-transition: 4s all ease-in-out;
  transition: 4s all ease-in-out;
  text-align: center;
}
#index-survey:hover > #index-survey-text {
  visibility: initial;
}
#index-survey-icon {
  font-size: 2em;
  display: inline-block;
}
#index-survey-text {
  display: inline-block;
  padding: 5px 5px 0 0;
  vertical-align: top;
  visibility: hidden;
}
/* Tags */
html {
  visibility: hidden;
}
/* Headers */
h1 {
  display: block;
  padding: 30px 50px;
  text-align: center;
  font-size: 2em;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #712d7c;
}
/* Body */
#index-body-section {
  position: relative;
  display: block;
  text-align: center;
}
/* Common section */
.index-section-title {
  position: relative;
  display: block;
  padding: 20px;
  font-size: 1.8em;
}
/* Introduction */
#index-intro-section {
  position: relative;
  display: block;
  padding: 20px 20px;
  box-sizing: border-box;
  text-align: center;
  color: #712d7c;
  z-index: 1;
}
#index-intro-section::after {
  content: "";
  background-image: url("../resources/images/bg-intro.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: .2;
  z-index: -1;
}
#xindex-intro-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../resources/images/bg-intro.png");
  background-size: cover;
  opacity: .8;
  z-index: -1;
}
#index-intro-block {
  display: block;
  padding: 30px 0;
  text-align: center;
  box-sizing: border-box;
}
.index-intro-paragraph {
  padding: 20px 0;
  text-align: center;
  font-size: 2em;
}
/*
 * Carousel
 */
#index-intro-carousel-section {
  position: relative;
  display: block;
  padding: 50px 20px;
  box-sizing: border-box;
  text-align: center;
  margin: auto;
  color: #712d7c;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #712d7c;
}
#index-intro-carousel-block {
  display: inline-block;
  vertical-align: top;
  overflow-x: hidden;
  box-sizing: border-box;
  text-align: center;
}
#index-intro-carousel {
  display: block;
}
.index-intro {
  display: inline-block;
  overflow-x: hidden;
  box-sizing: border-box;
}
.index-intro-inactive {
  display: none;
}
.index-intro-icon {
  display: block;
  font-size: 3em;
  box-sizing: border-box;
}
.index-intro-headline {
  position: relative;
  display: block;
  padding: 20px;
  font-size: 1.4em;
}
.index-intro-picture {
  max-width: 600px;
  max-height: 600px;
}
#index-intro-selector-block {
  position: relative;
  display: block;
  text-align: center;
  box-sizing: border-box;
  padding: 20px 0 0 0;
}
.index-intro-selector {
  display: inline-block;
  margin: 0 20px;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 1px;
  border-color: #712d7c;
  border-radius: 8px;
}
.index-intro-selector-inactive {
  background-color: #fdfdfd;
  cursor: pointer;
}
.index-intro-selector-active {
  background-color: #712d7c;
}
/* Category */
#index-category-section {
  position: relative;
  display: block;
  padding: 50px 20px;
  box-sizing: border-box;
  text-align: center;
  max-width: 1535px;
  margin: auto;
}
.index-category-container {
  display: inline-block;
  width: 33%;
  padding: 20px 1%;
  box-sizing: border-box;
  vertical-align: top;
  text-align: center;
}
.index-category-block {
  display: block;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 4px;
  background-color: #712d7c;
  color: #fdfdfd;
  box-shadow: 4px 4px 16px #434d56;
}
.index-category-block:hover {
  background-color: #973ca5;
}
/*
 * Categories from shop
 */
.s-category-list-waiting::after {
  content: "\f251";
  position: absolute;
  right: 4px;
  top: 4px;
  font-family: "Font awesome 6 Pro";
  font-weight: 300;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  color: #fdfdfd;
}
.s-category-list-category-block,
.s-category-list-category-block-selected {
  position: relative;
  display: block;
  padding: 0 8px;
  margin: 2px 0;
  padding: 4px;
  background-color: #712d7c;
  cursor: pointer;
}
.s-category-list-category-block:first-child,
.s-category-list-category-block-selected:first-child {
  margin: 0;
}
.s-category-list-category-block:hover {
  background-color: #82348f;
}
.s-category-list-category-block-0 {
  color: #eeeeee;
  padding: 8px;
}
.s-category-list-category-name {
  font-size: .9em;
}
/* Search */
#index-search-section {
  position: relative;
  display: block;
  padding: 100px 20px;
  box-sizing: border-box;
  text-align: center;
  background-color: #4b1e52;
  color: #fdfdfd;
  font-weight: bold;
}
#index-search-label {
  font-size: 2em;
}
#index-search-text {
  font-size: 1.2em;
  margin: 20px 0;
  padding: 8px;
  width: 80%;
  box-sizing: border-box;
}
#index-search-button {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
}
#index-search-button:hover {
  background-color: #b050bf;
}
/* Favourites TODO */
#index-favourite-section {
  position: relative;
  display: block;
  box-sizing: border-box;
  padding: 50px 20px;
}
.index-favourite-category-block {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 20px 10px;
  width: 25%;
  vertical-align: top;
}
.index-favourite-category {
  position: relative;
  display: block;
  box-sizing: border-box;
  padding: 10px;
  background-color: #fdfdfd;
  border-radius: 8px;
  text-align: center;
  height: 400px;
  box-shadow: rgba(0, 0, 0, 0.15) 2.4px 2.4px 3.2px;
}
@media only screen and (max-width: 1200px) {
  .index-fav-block {
    width: 50%;
  }
}
@media only screen and (max-width: 1050px) {
  .index-figure-block {
    width: 50%;
  }
  .index-category-container {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .index-fav-block {
    width: 100%;
  }
  .index-figure-block {
    width: 100%;
  }
  .index-fav-block {
    padding: 20px 0;
  }
  .index-category-container {
    width: 100%;
  }
}
