* {
  margin: 0;
  padding: 0;
  border: 0;
}
*:focus {
  border: none !important;
  outline: none !important;
}

/*Variables*/
body {
  /*colors*/
  --color-primary: #2e3131;
  --color-background: white;
  --color-red: #bf0131;
  --color-green: #00a726;
  --color-grey: #f1f1f1;
  /*dimensions*/
  --nav-height: 100px;
  --nav-padding: 15px;
}

/*Typography*/
b {
  font-weight: 600;
}

h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 100px;
  font-weight: 300;
  line-height: 100px;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  h1 {
    font-size: 50px;
    line-height: 50px;
  }
}

h2 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 50px;
  font-weight: 300;
  line-height: 52px;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  h2 {
    font-size: 24px;
    line-height: 24px;
  }
}

h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 35px;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  h3 {
    font-size: 18px;
    line-height: 18px;
  }
}

h4 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 35px;
  font-weight: 300;
  line-height: 30px;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  h4 {
    font-size: 24px;
    line-height: 24px;
  }
}

p {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 21px;
  color: var(--color-primary);
}
p a {
  font-size: 18px;
}
p a:hover {
  text-decoration: underline;
}

a {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 14px;
  text-decoration: none;
  color: var(--color-primary);
}

label {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 21px;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  label {
    font-size: 18px;
  }
}

.b {
  font-weight: 600;
}

/**/
.centered-h {
  width: 100%;
  text-align: center;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 768px) {
  .centered-v {
    margin-top: 10vh;
  }
}

.columns-2 > * {
  margin-top: 5%;
  margin-bottom: 5%;
  float: left;
  width: 45%;
  margin-left: 2.5%;
  margin-right: 2.5%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .columns-2 > * {
    margin: auto;
    float: none;
    width: 100%;
  }
}

.columns-3 > * {
  margin-top: 5%;
  margin-bottom: 5%;
  float: left;
  width: 29%;
  margin-left: 1.5%;
  margin-right: 1.5%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .columns-3 > * {
    margin: auto;
    float: none;
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .columns-3 > * {
    width: 45%;
    margin-left: 2.5%;
    margin-right: 2.5%;
  }
}

@media screen and (max-width: 480px) {
  .no-mobile {
    display: none !important;
  }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
  .no-tablet {
    display: none !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  .no-s-computer {
    display: none !important;
  }
}

@media screen and (min-width: 1201px) {
  .no-l-computer {
    display: none !important;
  }
}

.display-none {
  display: none;
}

/* ANIMAZIONI */
@keyframes bounceToRight {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(20px);
  }
  0% {
    transform: translateX(0);
  }
}
@keyframes bounceToUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  0% {
    transform: translateY(0);
  }
}
.float-l {
  float: left;
}

input[type=text], input[type=number], input[type=url] {
  padding: 25px 0;
  background: transparent;
  border-bottom: 1px solid black;
  margin-left: 25px;
  margin-right: 25px;
  font-size: 30px;
  font-weight: 300;
  font-family: "Source Sans Pro", sans-serif;
}
input[type=text]:focus, input[type=number]:focus, input[type=url]:focus {
  border-bottom: 1px solid black !important;
}
@media screen and (max-width: 768px) {
  input[type=text], input[type=number], input[type=url] {
    font-size: 18px;
    padding: 10px 0;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 25px;
    width: 100%;
  }
}

select {
  background-color: transparent;
  background-image: url("../img/select-arrow-down.png");
  background-repeat: no-repeat;
  background-size: calc(58px/4) calc(34px/4);
  background-position: right center;
  padding-right: 16px;
  font-size: 30px;
  font-family: "Source Sans Pro", sans-serif;
  -webkit-appearance: none;
  /*REMOVES DEFAULT CHROME & SAFARI STYLE*/
  -moz-appearance: none;
  /*REMOVES DEFAULT FIREFOX STYLE*/
  border-top: 0 !important;
  /*REMOVES BORDER*/
  border-left: 0 !important;
  /*REMOVES BORDER*/
  border-right: 0 !important;
  /*REMOVES BORDER*/
  border-bottom: 0;
  margin-left: 10px;
}
select:hover {
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  select {
    font-size: 18px;
  }
}

div#eventPlaceGroup select {
  background-position: right calc(50% - 12px);
  padding-bottom: 25px;
  border-bottom: 1px solid black;
}

select + i.fa-angle-down {
  display: none;
}

textarea {
  resize: none;
  background: transparent;
  border: 1px solid var(--color-primary);
  height: 200px;
  width: 40vw;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 24px;
  font-weight: 300;
}
textarea:focus {
  border: 1px solid var(--color-primary) !important;
}
@media screen and (max-width: 768px) {
  textarea {
    font-size: 18px;
    width: 100%;
    margin-bottom: 25px;
    margin-top: 10px;
  }
}

.go-back {
  display: flex;
  padding: 10px 20px;
}
.go-back .arrow-left {
  font-size: 21px;
  margin-right: 10px;
}
.go-back p {
  margin-left: 10px;
  font-weight: 600;
}

.ui-timepicker-wrapper {
  max-height: 300px !important;
}
.ui-timepicker-wrapper .ui-timepicker-list li {
  padding: 10px 20px !important;
  font-family: "Source Sans Pro", sans-serif !important;
  font-weight: 300;
  cursor: pointer;
  white-space: nowrap;
  color: var(--color-primary) !important;
  list-style: none;
  font-size: 24px !important;
  margin: 0;
}
.ui-timepicker-wrapper .ui-timepicker-list li:hover {
  background: var(--color-primary) !important;
  color: var(--color-background) !important;
}

#ui-datepicker-div {
  border: none !important;
}
#ui-datepicker-div .ui-widget-header {
  color: var(--color-primary) !important;
  font-weight: bold !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid var(--color-primary) !important;
  border-radius: 0px !important;
}
#ui-datepicker-div .ui-datepicker-calendar th {
  text-align: center;
  font-weight: 300;
  border: 0;
}

.select-wrapper {
  padding: 25px 0px;
}
.select-wrapper i {
  font-size: 24px;
  line-height: 40px;
}

.lan-input {
  display: flex;
}
.lan-input label {
  min-width: 60px;
}
.lan-input textarea {
  margin-bottom: 30px;
}
.lan-input select {
  width: 60px;
}

@media screen and (min-width: 768px) {
  .form-group-aligned {
    display: flex;
    align-items: center;
  }
  .form-group-aligned label {
    display: block;
    min-width: 200px;
  }
  .form-group-aligned select {
    margin-left: 25px;
    margin-right: 25px;
  }
}

/* NAV */
nav {
  position: fixed;
  top: 0px;
  z-index: 9999;
  width: calc(100% - 20px);
  background: var(--color-background);
  padding: var(--nav-padding);
  border-top: solid 10px var(--color-red);
  /* position: relative; */
  box-sizing: border-box;
  left: 10px;
}
@media screen and (max-width: 768px) {
  nav #logo,
nav svg {
    height: 50px;
    margin-top: 0px;
  }
}
nav #logo {
  float: left;
  margin-top: 4px;
}
nav #logo:hover {
  cursor: pointer;
}
nav #nav-title {
  margin-top: -60px;
}
@media screen and (max-width: 768px) {
  nav #nav-title {
    display: none;
  }
}
nav.intern {
  box-shadow: rgba(0, 0, 0, 0.16) 0 3px 6px;
}
nav.intern #nav-title {
  float: left;
  margin-top: 0;
  margin-left: 20px;
  line-height: 60px;
  font-size: 30px;
}
nav #nav-menu {
  float: right;
}
nav #nav-menu .nav-menu-item {
  display: inline-flex;
  margin-left: 44px;
}
nav #nav-menu .nav-menu-item p {
  margin: auto 10px auto auto;
}
@media screen and (max-width: 1200px) {
  nav #nav-menu .nav-menu-item p {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  nav #nav-menu .nav-menu-item svg {
    width: 35px;
    margin-left: 5px;
    margin-right: 5px;
  }
}
nav #nav-menu .nav-menu-item:hover {
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  nav #nav-menu .nav-menu-item {
    margin-left: 0px;
    height: 50px;
    width: 55px;
  }
}
@media screen and (max-width: 1200px) {
  nav #nav-menu .nav-menu-item.language-selector {
    margin-left: 15px;
  }
}
nav #nav-menu.mobile {
  position: fixed;
  top: 80px;
  right: 10px;
  left: 10px;
  display: none;
}
nav #nav-menu.mobile .nav-menu-item {
  display: block;
  background: var(--color-background);
  clear: both;
  overflow: auto;
  padding: 20px 20px;
  width: auto;
}
nav #nav-menu.mobile .nav-menu-item p {
  line-height: 50px;
  float: left;
  display: block !important;
}
nav #nav-menu.mobile .nav-menu-item img {
  float: right;
  width: 50px;
}
nav #nav-mobile .mobile-nav-menu-icon {
  float: right;
  height: 50px;
}
nav #nav-mobile .language-selector {
  float: right;
}
nav .language-selector {
  margin-left: 20px;
  height: 68px;
  vertical-align: top;
}
nav .language-selector i {
  line-height: 68px;
  font-size: 24px;
}

@media screen and (max-width: 768px) {
  #nav-title {
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 769px) {
  #content.map-content {
    padding: 0;
    overflow-x: auto;
  }
}

#map {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  height: 600px;
  transform: translateY(5%);
}
@media screen and (max-width: 768px) {
  #map {
    transform: translateY(0%);
  }
}
#map #stick {
  position: absolute;
  width: 20px;
  border: solid 1.2px var(--color-primary);
  height: 800px;
  margin-left: -10px;
  left: 50%;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #map #stick {
    width: 15px;
  }
}
@media screen and (min-width: 769px) {
  #map #stick.stick-left {
    left: 45% !important;
  }
}
@media screen and (min-width: 769px) {
  #map #stick.stick-right {
    left: 55% !important;
  }
}
#map #signs-container {
  position: relative;
  z-index: 9;
}
#map #signs-container .signs-group {
  width: 490px;
}
@media screen and (max-width: 768px) {
  #map #signs-container .signs-group {
    width: 100%;
  }
}
#map #signs-container .signs-group.left {
  float: left;
}
#map #signs-container .signs-group.right {
  float: right;
}
#map .sign {
  padding: 20px;
  width: 100%;
  height: 122px;
  box-sizing: border-box;
  max-width: 600px;
  border: solid 1.2px var(--color-primary);
  clear: both;
  overflow: hidden;
  margin-bottom: 20px;
  background: var(--color-background);
}
@media screen and (max-width: 768px) {
  #map .sign {
    width: 90%;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
}
#map .sign:hover {
  background: var(--color-primary);
  cursor: pointer;
}
#map .sign:hover h4 {
  color: var(--color-background);
}
#map .sign .sign-text {
  height: 80px;
}
@media screen and (max-width: 768px) {
  #map .sign .sign-text {
    height: auto;
  }
}
#map .sign .sign-text .icon {
  margin-top: 5px;
}
#map .sign.left {
  float: left;
}
#map .sign.left .arrow {
  float: left;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  #map .sign.left {
    float: none;
  }
  #map .sign.left .arrow {
    float: right;
    height: 40px;
    margin-top: 5px;
  }
}
#map .sign.right {
  float: right;
}
#map .sign.right .arrow {
  float: right;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  #map .sign.right {
    float: none;
  }
  #map .sign.right .arrow {
    height: 40px;
    margin-top: 5px;
  }
}
#map .sign.left .sign-text {
  display: inline-flex;
  float: right;
}
#map .sign.left .sign-text img {
  float: right;
}
#map .sign.left .sign-text h4 {
  text-align: right;
  margin-right: 25px;
}
#map .sign.right .sign-text {
  display: inline-flex;
  float: left;
}
#map .sign.right .sign-text img {
  float: left;
}
#map .sign.right .sign-text h4 {
  text-align: left;
  margin-left: 25px;
}
@media screen and (max-width: 768px) {
  #map .sign {
    padding: 10px;
    width: auto;
    height: 70px;
  }
  #map .sign .sign-text {
    float: left !important;
  }
  #map .sign .sign-text img {
    height: 50px;
  }
}
#map .sign h4 {
  margin: auto 5px;
  line-height: 40px;
}
@media screen and (max-width: 480px) {
  #map .sign h4 {
    font-size: 16px;
    line-height: 18px !important;
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  #map .sign h4 {
    line-height: 25px;
    text-align: left !important;
    margin-left: 10px !important;
  }
}

@media screen and (max-width: 480px) {
  #description-building h2 {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 480px) {
  #description-building svg {
    width: 100%;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  #description-building svg {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
#description-building #time, #description-building #description {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  #description-building #time, #description-building #description {
    margin-top: 60px;
  }
}
#description-building #time span, #description-building #description span {
  margin-top: 5px;
  margin-bottom: 5px;
  display: inline-block;
}
#description-building #time .button, #description-building #description .button {
  margin-top: 20px;
}

#building {
  position: relative;
}
@media screen and (max-width: 768px) {
  #building {
    height: 300px;
  }
}
@media screen and (min-width: 1201px) {
  #building {
    margin-top: 0;
    margin-bottom: 0;
  }
}
#building #building-image {
  position: relative;
}
@media screen and (max-width: 480px) {
  #building #building-image {
    left: -30%;
  }
}
#building #building-image #img {
  margin-top: 5vh;
  width: 90%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-height: 70vh;
}
@media screen and (max-width: 480px) {
  #building #building-image #img {
    margin-top: 20px;
    max-height: 30vh;
    max-width: 100%;
    width: auto;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  #building #building-image #img {
    margin-top: 20px;
    max-height: 35vh;
    max-width: 100%;
    width: auto;
  }
}
#building #building-image #img .arrow {
  animation-name: bounceToUp;
  animation-duration: 1.8s;
  animation-iteration-count: infinite;
}
#building #building-image #img:hover {
  opacity: 0.5;
  cursor: pointer;
}
#building #building-image #building-action {
  display: none !important;
  width: 200px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
#building #sign-links {
  height: auto;
  position: absolute;
  right: -4vw;
  bottom: 8vh;
}
@media screen and (max-width: 768px) {
  #building #sign-links {
    position: static;
    max-width: 200px;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
  }
}
#building #sign-links #stick {
  width: 5px;
  border: 1px solid var(--color-primary);
  height: 200px;
  position: absolute;
  background: var(--color-grey);
}
#building #sign-links .sign {
  border: 1px solid black;
  padding: 10px;
  display: block;
  margin-bottom: 5px;
  background: var(--color-background);
}
#building #sign-links .sign svg, #building #sign-links .sign img {
  height: 20px;
  float: right;
  margin-left: 15px;
}
#building #sign-links .sign:hover {
  background: var(--color-primary);
  color: var(--color-background);
  cursor: pointer;
}
#building #sign-links .sign:hover path, #building #sign-links .sign:hover circle, #building #sign-links .sign:hover rect, #building #sign-links .sign:hover line {
  fill: white !important;
}

.arzt #building-action {
  margin-left: 45% !important;
}
@media screen and (max-width: 480px) {
  .arzt #building-action {
    margin-left: 37% !important;
  }
}
@media screen and (min-width: 1200px) {
  .arzt #building-action {
    margin-left: 52% !important;
  }
}

.day,
.group {
  margin-bottom: 80px;
}
.day .day-header,
.day .group-header,
.group .day-header,
.group .group-header {
  margin-bottom: 30px;
  clear: both;
}
.day .day-header h1, .day .day-header .groupname,
.day .group-header h1,
.day .group-header .groupname,
.group .day-header h1,
.group .day-header .groupname,
.group .group-header h1,
.group .group-header .groupname {
  float: left;
}
.day .day-header svg,
.day .group-header svg,
.group .day-header svg,
.group .group-header svg {
  float: right;
  margin: auto 10px;
}
.day .day-header svg:hover,
.day .group-header svg:hover,
.group .day-header svg:hover,
.group .group-header svg:hover {
  cursor: pointer;
}
.day .day-header svg:hover path, .day .day-header svg:hover circle, .day .day-header svg:hover rect, .day .day-header svg:hover line,
.day .group-header svg:hover path,
.day .group-header svg:hover circle,
.day .group-header svg:hover rect,
.day .group-header svg:hover line,
.group .day-header svg:hover path,
.group .day-header svg:hover circle,
.group .day-header svg:hover rect,
.group .day-header svg:hover line,
.group .group-header svg:hover path,
.group .group-header svg:hover circle,
.group .group-header svg:hover rect,
.group .group-header svg:hover line {
  fill: var(--color-primary);
  stroke: var(--color-background);
}
@media screen and (max-width: 768px) {
  .day .day-header svg,
.day .group-header svg,
.group .day-header svg,
.group .group-header svg {
    display: none;
  }
}

.day-activities {
  clear: both;
  overflow: auto;
}
@media screen and (max-width: 768px) {
  .day-activities {
    width: 100vw;
    margin-left: -30px;
  }
}
.day-activities .activity {
  float: left;
  padding: 25px;
  background: white;
  height: 100%;
  box-sizing: border-box;
  height: 400px;
  position: relative;
  margin-top: 1.5%;
  margin-bottom: 1.5%;
}
@media screen and (max-width: 768px) {
  .day-activities .activity {
    width: 300px;
    padding: 25px;
    height: 300px;
    margin: 20px;
  }
}
@media screen and (max-width: 480px) {
  .day-activities .activity {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
}
.day-activities .activity .activity-type {
  font-size: 14px;
  margin-bottom: 10px;
}
.day-activities .activity .activity-title span {
  display: block;
}
.day-activities .activity .activity-title .EventDescriptionDE, .day-activities .activity .activity-title .EventDescriptionIT, .day-activities .activity .activity-title .EventDescription {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.day-activities .activity .activity-details {
  width: 88%;
  overflow: hidden;
  position: absolute;
  bottom: 25px;
}
.day-activities .activity .activity-details div {
  margin-bottom: 20px;
  overflow: hidden;
  float: left;
  margin-top: 20px;
}
.day-activities .activity .activity-details h3 {
  float: left;
  width: 80%;
}
.day-activities .activity .activity-details img {
  float: right;
}
@media screen and (max-width: 768px) {
  .day-activities .activity .activity-details img {
    width: 50px;
  }
}
.day-activities .table {
  float: left;
  padding: 0 45px;
  border-right: 1px black solid;
  height: 100%;
  box-sizing: border-box;
  width: 460px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .day-activities .table {
    width: 300px;
    padding: 0 20px;
  }
}
.day-activities .table .activity-type {
  font-size: 14px;
  margin-bottom: 10px;
}
.day-activities .table .activity-title span {
  display: block;
}
.day-activities .table .activity-title .EventDescriptionDE, .day-activities .table .activity-title .EventDescriptionIT, .day-activities .table .activity-title .EventDescription {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.day-activities .table .table-details {
  width: 87%;
  overflow: hidden;
  position: absolute;
  bottom: 0;
}
.day-activities .table .table-details h3 {
  float: left;
  width: 80%;
}
.day-activities .table .table-details img {
  float: right;
}
@media screen and (max-width: 768px) {
  .day-activities .table .table-details img {
    width: 50px;
  }
}
.day-activities .table .button {
  margin-top: 50px;
}

.activity-page .activity {
  background: white;
  padding: 30px;
  box-sizing: border-box;
  margin-top: 2.5%;
  margin-bottom: 2.5%;
  position: relative;
}
.activity-page .activity .activity-title {
  margin-bottom: 50px;
}
.activity-page .activity .activity-description {
  margin-bottom: 50px;
}
.activity-page .activity .activity-details {
  width: 100%;
  overflow: hidden;
}
.activity-page .activity .activity-details h3 {
  float: left;
  width: 70%;
  margin-bottom: 20px;
}
.activity-page .activity .activity-details img {
  float: right;
}
@media screen and (max-width: 768px) {
  .activity-page .activity .activity-details img {
    width: 50px;
  }
}
.activity-page .activity .date-details {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .activity-page .activity .date-details {
    margin-bottom: 0;
  }
}
.activity-page #building-image svg {
  margin-top: 50px;
  margin-right: auto;
  margin-left: auto;
  display: block;
  margin-right: auto;
  max-width: 500px;
  box-sizing: border-box;
  padding: 50px;
  border: solid 1.2px var(--color-primary);
}
.activity-page #eventActions {
  float: right;
  display: flex;
  margin-top: 4%;
}
.activity-page #eventActions a {
  padding: 10px 10px;
  line-height: 24px;
}
.activity-page #eventActions a i {
  font-size: 24px !important;
  float: left;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .activity-page #eventActions {
    position: fixed;
    bottom: 10px;
    padding: 10px;
    width: calc(100% - 20px);
    box-sizing: border-box;
    left: 10px;
    background: var(--color-background);
    z-index: 99999;
  }
  .activity-page #eventActions a {
    font-size: 0;
    width: 25%;
    display: inline-flex;
  }
}
.activity-page .pencil-button {
  position: absolute;
  left: -40px;
}

h1 {
  text-align: center;
}

.room-list {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.room-list .room-box {
  background-color: var(--color-background);
  border-radius: 4px;
  padding: 1em;
  margin-bottom: 1em;
}
.room-list .room-box .room-name {
  display: inline-block;
  color: black;
  font-size: 30px;
  width: 100%;
  font-weight: 100;
  margin-bottom: 20px;
}
.room-list .room-box .room-partecipants {
  display: inline-block;
  width: 2ch;
  text-align: right;
}

.person {
  position: relative;
  text-align: center;
  margin-bottom: 100px;
  min-height: 20vw;
}
@media screen and (max-width: 480px) {
  .person {
    min-height: 60vw;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .person {
    min-height: 30vw;
    width: 45%;
    float: left;
    margin-left: 2.5%;
    margin-right: 2.5%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .person {
    margin-bottom: 50px;
    min-height: 30vw;
  }
}
.person-image-container {
  position: relative;
}
.person-image-container .person-frame {
  width: 100%;
  margin-bottom: 50px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9;
}
@media screen and (max-width: 768px) {
  .person-image-container .person-frame {
    margin-bottom: 20px;
  }
}
.person-image-container .person-photo {
  left: 50%;
  width: 50%;
  margin-left: -25%;
  top: 5px;
  position: absolute;
}
.person .description {
  position: absolute;
  width: 100%;
  top: 20vw;
}
@media screen and (max-width: 480px) {
  .person .description {
    top: 60vw;
  }
}
@media screen and (min-width: 481px) and (max-width: 1200px) {
  .person .description {
    top: 30vw;
  }
}
.person .description h3 {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .person .description h3 {
    margin-bottom: 20px;
  }
}
.person .icon-available {
  width: 20px;
  height: 20px;
  float: left;
  background: #00a726;
  border-radius: 50%;
}
.person .button {
  background: var(--color-background);
  margin-top: 15px;
  margin-left: auto;
  margin-right: auto;
}

.icon.hover-negative:hover path, .icon.hover-negative:hover circle, .icon.hover-negative:hover rect, .icon.hover-negative:hover line {
  stroke: white !important;
  fill: var(--color-primary) !important;
}

.nav-menu-item:hover .icon.hover-negative path, .nav-menu-item:hover .icon.hover-negative circle, .nav-menu-item:hover .icon.hover-negative rect, .nav-menu-item:hover .icon.hover-negative line {
  stroke: white !important;
  fill: var(--color-primary) !important;
}

.sign:hover .icon.hover-negative path, .sign:hover .icon.hover-negative circle, .sign:hover .icon.hover-negative rect, .sign:hover .icon.hover-negative line {
  stroke: white !important;
  fill: var(--color-primary) !important;
}

.sign:hover .arrow.hover-negative path, .sign:hover .arrow.hover-negative circle, .sign:hover .arrow.hover-negative rect, .sign:hover .arrow.hover-negative line {
  fill: white !important;
}

.icon-available {
  width: 20px;
  height: 20px;
  float: left;
  border-radius: 50%;
  margin-left: 10px;
  margin-right: 10px;
}
.icon-available.available {
  background: var(--color-green);
}
.icon-available.not-available {
  background: var(--color-red);
}

a.button:hover .icon.arrow.hover-negative path, a.button:hover .icon.arrow.hover-negative circle, a.button:hover .icon.arrow.hover-negative rect, a.button:hover .icon.arrow.hover-negative line {
  fill: white !important;
}

footer {
  color: var(--color-background) !important;
  padding: 80px 80px 30px 80px;
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 20px;
    padding-top: 100px;
    text-align: center;
    margin-top: 70px;
  }
}
footer h2 {
  margin-bottom: 40px;
  color: var(--color-background);
}
footer p {
  font-size: 22px;
  color: var(--color-background);
  line-height: 28px;
}
@media screen and (max-width: 768px) {
  footer p {
    font-size: 18px;
    line-height: 21px;
  }
}
footer p a {
  font-size: 22px;
  color: var(--color-background);
}
footer p a:hover {
  opacity: 0.5;
}
footer .button {
  margin-left: auto;
  margin-right: auto;
  border-color: white;
  color: white;
}
footer #footer-documents {
  display: inline-flex;
  margin-top: 80px;
}
footer #footer-documents h3 a {
  font-size: 30px;
  margin-right: 30px;
  color: var(--color-background);
}
@media screen and (max-width: 768px) {
  footer #footer-documents h3 a {
    margin-right: 0px;
    font-size: 18px;
    line-height: 21px;
  }
}
footer #footer-documents h3 a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  footer #footer-documents h3 {
    line-height: 42px;
  }
}
@media screen and (max-width: 768px) {
  footer #footer-documents {
    display: block;
    text-align: center;
  }
}
footer #footer-social {
  float: right;
}
@media screen and (max-width: 768px) {
  footer #footer-social {
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: table;
    margin-top: 50px;
  }
}
footer #footer-social a {
  margin-left: 15px;
  margin-right: 15px;
}
footer #footer-social a:hover {
  opacity: 0.5;
  cursor: pointer;
}

.table {
  margin-bottom: 20px;
  background: var(--color-background);
  float: left;
  padding: 30px;
  height: 30vw;
  min-height: 400px;
  position: relative;
  box-sizing: border-box;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .table {
    min-height: 400px;
    padding: 20px;
  }
}
.table .table-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  min-height: 104px;
}
@media screen and (max-width: 768px) {
  .table .table-title {
    min-height: 50px;
    width: 80%;
  }
}
.table .table-details {
  position: absolute;
  bottom: 20px;
  right: 20px;
  font-size: 14px !important;
  text-transform: uppercase;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .table .table-details {
    left: 20px;
    right: auto;
    text-align: left;
    bottom: 70px;
  }
}
.table .table-button {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 14px !important;
  text-transform: uppercase;
  text-align: right;
}
.table .table-description {
  font-size: 23px;
  margin-top: 25px;
}
.table .table-description .description-title span {
  background: white;
  padding-left: 5px;
  padding-right: 5px;
  display: inline;
}
.table .table-description .next-event {
  margin-top: -10px;
  padding: 30px 15px;
  border: 1.2px solid var(--color-primary);
  height: 3.3em;
  overflow: hidden;
}
.table .table-description .description-de {
  margin-bottom: 5px;
}
.table .table-description .description-time {
  margin-top: 30px;
  display: block;
}
.table .tablestatus {
  text-align: right;
  float: right;
  width: 100%;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .table .tablestatus {
    width: auto;
  }
}
.table .tablestatus .icon-available {
  float: right;
}
.table .tablestatus .description {
  float: right;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .table .tablestatus .description {
    display: none;
  }
}

.faq {
  margin-top: 50px;
}
@media screen and (min-width: 769px) {
  .faq {
    display: inline-flex;
  }
}
.faq .title {
  margin-bottom: 30px;
}
.faq .question {
  background: var(--color-background);
  box-sizing: border-box;
}
.faq .question .question-title {
  padding: 30px;
  box-shadow: 2px 5px 6px #eee;
}
.faq .question .question-title:hover {
  background: var(--color-primary);
  color: var(--color-background);
  cursor: pointer;
}
.faq .question .tab-content {
  padding: 30px;
  display: none;
}
.faq .question.close .question-title {
  border-bottom: 1.2px solid var(--color-primary);
}
.faq .question.open .tab-content {
  border-bottom: 1.2px solid var(--color-primary);
}
.faq .cta {
  margin-top: 30px;
}
.faq .cta a {
  font-size: 30px;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .faq .cta a {
    font-size: 18px;
  }
}

#alert-language {
  box-sizing: border-box;
  position: fixed;
  width: calc(100vw - 60px);
  max-width: 480px;
  top: 30vh;
}
@media screen and (max-width: 768px) and (min-width: 481px) {
  #alert-language {
    margin-left: -240px;
    left: 50vw;
  }
}

@media screen and (max-width: 768px) {
  .de,
.it {
    display: none;
  }
}

.form-group {
  width: 70vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20vh;
  height: 90vh;
  position: relative;
  float: none;
}
@media screen and (max-width: 768px) {
  .form-group {
    margin-top: 5vh;
  }
}
.form-group h2 {
  margin-bottom: 30px;
}
.form-group .go-back {
  display: flex;
  position: absolute;
  right: 0;
  top: 20px;
}
.form-group .button {
  margin-top: 60px;
  clear: both;
}
.form-group .float-l {
  float: left;
}

/**/
body {
  background: var(--color-red);
  padding: 10px;
}

/* CONTAINER OF THE PAGE CONTENT*/
#content {
  background: var(--color-background);
  min-height: calc(100vh - 20px - var(--nav-height));
  box-sizing: border-box;
  padding: 30px;
  overflow-x: hidden;
  clear: both;
  position: relative;
  top: 90px;
}
#content.intern {
  background: var(--color-grey);
}
@media screen and (max-width: 768px) {
  #content {
    padding: 20px;
    overflow-y: hidden;
    top: 70px;
    min-height: calc(100vh - 90px);
  }
}

.button {
  clear: both;
  display: block;
  padding: 10px 20px;
  border: 1px solid var(--color-primary);
  width: fit-content;
  width: -moz-fit-content;
}
.button:hover {
  background: var(--color-primary);
  color: var(--color-background);
  cursor: pointer;
}
.button.negative {
  border: 1px solid var(--color-background);
  color: var(--color-background);
}
.button.negative:hover {
  background: var(--color-background);
  color: var(--color-primary);
}

.alert {
  max-width: 580px;
  width: 50vw;
  color: var(--color-background) !important;
  background: var(--color-primary);
  padding: 30px;
}
.alert-description, .alert-title {
  color: var(--color-background);
}
.alert-description {
  margin-top: 30px;
}
.alert-action {
  margin-top: 30px;
}
.alert .de, .alert .it {
  display: block !important;
}
.alert.alert-cookie {
  position: fixed;
  border: solid 1px black;
  bottom: 0;
  right: 0;
  width: 300px;
  z-index: 9999;
  background: var(--color-background);
}
@media screen and (max-width: 768px) {
  .alert.alert-cookie {
    width: auto;
    left: 0;
  }
}
.alert.alert-cookie p {
  margin-bottom: 10px;
}
.alert.alert-cookie .button {
  margin-top: 20px;
}

.popup {
  z-index: 99999;
  display: block;
  position: fixed;
  overflow: auto;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  background: var(--color-primary);
}
.popup .container-div {
  margin-top: 15vh;
  width: 90vw;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  box-sizing: border-box;
  background: var(--color-background);
  min-height: 50vh;
}
.popup .container-div h3 {
  margin-top: 5vh;
  text-align: center;
}
.popup .container-div p {
  text-align: center;
}
.popup .container-div .button {
  margin-left: auto;
  margin-right: auto;
  margin-top: 5vh;
}
.popup #button-close {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

#help-button {
  position: absolute;
  right: 20px;
  width: 68px;
  margin: 0;
  margin-top: 30px;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  #help-button {
    width: 50px;
    top: 60px;
    margin-top: 0px;
  }
  #help-button svg {
    width: 50px;
  }
  #help-button img {
    width: 100%;
  }
}
#help-button .alert {
  display: block;
  position: fixed;
  right: 0;
  z-index: 9;
  width: 260px;
  background: var(--color-primary);
  margin-top: -70px;
}
#help-button .alert p {
  color: var(--color-background) !important;
}
#help-button .alert .button {
  width: calc(100% - 40px);
  text-align: center;
  margin-top: 30px;
  color: var(--color-background) !important;
  border-color: var(--color-background) !important;
}
#help-button .alert .button:hover {
  color: var(--color-primary) !important;
  background: var(--color-background);
}
#help-button .alert #close-popup {
  float: right;
  width: auto;
}
#help-button .alert .second-action {
  margin-top: 10px;
  text-align: center;
}

#enter-arrow img {
  width: 120px;
  animation-name: bounceToRight;
  animation-duration: 1.8s;
  animation-iteration-count: infinite;
}
#enter-arrow:focus {
  border: none !important;
  outline: none !important;
}

#intro-mobile {
  position: absolute;
  bottom: 30px;
  width: calc(100% - 40px);
}

#alert-rooms {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  #alert-rooms {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.shop {
  width: calc(29% - 40px);
  margin: 40px;
  position: relative;
  padding: 20px 20px 40px 20px;
  box-sizing: border-box;
  max-width: 460px;
  background: var(--color-background);
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .shop {
    width: calc(45% - 40px);
  }
}
@media screen and (max-width: 768px) {
  .shop {
    width: calc(100% - 40px);
    margin-top: 100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.shop .title-link {
  font-size: 24px;
  line-height: 35px;
  text-decoration: underline;
}
.shop .title-link:hover {
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .shop .title-link {
    font-size: 18px;
    line-height: 21px;
  }
}
.shop .button {
  margin-top: 100px;
}
.shop .button .arrow {
  height: 9px;
}
.shop .logo-img {
  position: absolute;
  left: 20px;
  bottom: 100px;
  max-width: 100px;
  max-height: 50px;
}
@media screen and (max-width: 480px) {
  .shop .logo-img {
    left: 20px;
    bottom: 100px;
  }
}
.shop .tape {
  position: absolute;
}
.shop .tape.top {
  top: -40px;
  right: -40px;
}
.shop .tape.bottom {
  bottom: -40px;
  left: -40px;
}

.action-bar {
  position: fixed;
  bottom: 10px;
  background: var(--color-background);
  width: calc(100% - 20px);
  left: 10px;
  padding: 10px;
  box-sizing: border-box;
}
.action-bar .go-back {
  display: flex;
  position: static;
  line-height: 14px;
  padding-left: 0 !important;
  padding: 13px 20px;
}
.action-bar .go-back p {
  font-size: 14px;
  line-height: 14px;
}
.action-bar .go-back i {
  line-height: 14px;
}
.action-bar .button {
  margin-top: 0px;
  clear: both;
  float: right;
}

.table-data-error {
  border: 4px dotted red;
}

.table-data-error-hide {
  display: none;
}

/*# sourceMappingURL=design.css.map */
