/*
 * Light theme
 */

html,
body {
  display: block;
  width: 100%;
  height: 100%;
}

body {
  background-color: #1e1e1e;
  margin: 0;
  color: #bbbbbb;
  font-family: "Arial", sans-serif;
}

* {
  box-sizing: border-box;
}

section {
  position: relative;
  background-color: #323232;
  min-height: calc(100% - 60px);
  margin-left: 300px;
  padding: 20px 50px 20px 50px;
  border-radius: 20px 0 0 0;
  box-shadow: 0 0 12px 1px #00000022;
}

section .section-title {
  font-size: 1.4em;
  font-weight: 100;
  color: #bbbbbb;
}

.nomenu section {
  margin-left: 30px;
}

.button-link,
.button {
  padding: 12px 16px;
  font-size: 0.9em;
  text-decoration: none;
  border-radius: 5px;
  background-color: #ea3232;
  color: #ffffff;
  border: none;
  outline: none;
  cursor: pointer;
  transition: 0.3s;
}

.button-link:hover,
.button:hover {
  background-color: #cc2c2c;
  box-shadow: 0 0 12px 4px #00000011;
}

.button-error {
  background-color: #dd3232;
}

.button-error:hover {
  background-color: #ff5454;
}

.button:disabled {
  background-color: #484848;
  pointer-events: none;
  cursor: default;
}

.columns {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.columns .column {
  display: block;
  width: 50%;
  margin: 10px;
}

.response {
  display: block;
  width: 100%;
  padding: 18px;
  margin: 12px auto;
  background-color: #444444;
  border-radius: 8px;
}

.collapse-button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 55px;
  background-color: #191919;
  border-radius: 0 10px 10px 0;
  transition: 0.3s;
}

.collapse-button:hover {
  background-color: #101010;
}

.collapse-button i {
  font-size: 26px;
  pointer-events: none;
}

.add-button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 55px;
  top: 0;
  bottom: 0;
  width: 55px;
  background-color: rgb(139, 99, 38);
  transition: 0.3s;
}

.add-button:hover {
  background-color: #101010;
}

.add-button i {
  font-size: 26px;
  pointer-events: none;
}
.subbutton-link {
  /* padding: 12px 16px;
  font-size: 0.9em;
  text-decoration: none;
  border-radius: 5px;
  background-color: #ea3232;
  color: #ffffff;
  border: none;
  outline: none;
  cursor: pointer;
  transition: 0.3s; */
  margin-left:5%;
}
.disabled-group{
  opacity: 0.3;
  display:none !important;
}
.riddle-container{
  margin-bottom: 20px;
}

.riddle-sub-riddles {
  display: none;
}

.show i {
  transform: rotateZ(90deg);
}

.show .riddle-sub-riddles {
  display: block;
}

.session {
  display: block;
  position: relative;
}

header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 60px;
  padding: 10px;
  background-color: #1e1e1e;
  box-shadow: 0 0 12px 1px #22222222;
}

header .nav-left {
  display: flex;
  flex-direction: row;
}

header .nav-right {
  display: flex;
  align-items: center;
  flex-direction: row;
  color: #dddddd;
}

header .nav-right .current-session {
  font-size: 0.8em;
}

header .nav-right form {
  padding: 0;
}

header .nav-right .separator {
  display: block;
  width: 14px;
  height: 1px;
  margin: 0 12px;
  background: #dddddd;
}

header .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-right: 16px;
  border-radius: 10px;
  background: #444444;
}

header .logo .icon {
  color: #ffffff;
}

header .title-section {
  display: flex;
  flex-direction: column;
}

header .title-section .title {
  padding: 0;
  margin: 0;
  font-size: 1.1em;
  font-weight: 600;
  text-transform: uppercase;
  color: #ffffff;
}

header .title-section .description {
  color: #aaaaaa;
}

nav {
  display: flex;
  position: absolute;
  flex-direction: column;
  width: 280px;
  height: calc(100% - 60px);
  padding: 20px 0;
  background-color: #1e1e1e;
}

nav .nav-link {
  padding: 16px;
  margin: 2px 8px;
  font-size: 0.9em;
  border-radius: 4px;
  color: #777777;
  text-decoration: none;
  transition: 0.3s;
}

nav .nav-link .icon {
  margin-right: 4px;
}

nav .nav-link:hover {
  background-color: #292929;
  color: #999999;
}

nav .active {
  background-color: #252525;
  border-right: 4px solid #ea3232;
}

.nomenu nav {
  width: 30px;
}

.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 80%;
  margin: auto;
  text-align: center;
}

.auth-buttons {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.auth-buttons .clickable {
  display: block;
  width: 30%;
  padding: 50px 25px;
  margin: 5px;
  cursor: pointer;
  transition: 0.3s;
  background-color: #383838;
  border-radius: 4px;
  box-shadow: 0 0 8px 1px #00000022;
}

.auth-buttons .clickable:hover {
  transform: scale(1.02);
  box-shadow: 0 0 8px 4px #00000022;
}

#professor-form {
  align-items: center;
}

.session {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  margin-bottom: 16px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0 8px 1px #00000002;
  background-color: #383838;
  border-radius: 10px;
  transition: 0.3s;
}

.session .session-title {
  display: block;
  text-decoration: none;
  font-size: 1.2em;
  color: #dddddd;
}

.session .session-riddles {
  display: block;
  color: #777777;
  text-decoration: none;
  font-size: 1em;
}

.session:hover {
  box-shadow: 0 0 8px 8px #00000006;
}

.session .selectable {
  position: absolute;
  right: 68px;
}

.vertical-divider {
  width: 2px;
  height: 18px;
  background: #555555;
  margin: auto 12px;
}

.child-session {
  padding: 10px 20px;
  width: 95%;
  margin-left: auto;
}

a.session:hover {
  transform: scale(1.02);
}

.sessions-actions {
  display: block;
  padding: 16px 0;
  margin-bottom: 12px;
}

#numbers {
  display: grid;
  grid-template-columns: repeat(3, 39px);
}

.number-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  margin: 4px;
  border-radius: 4px;
  background-color: #1e1e1e;
  cursor: pointer;
}

.number-button:hover {
  background-color: #444444;
}

.number-button:last-of-type {
  margin: 4px 43px;
}

.number-response {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#entered-number {
  display: flex;
  align-items: center;
  width: 100px;
  height: 32px;
  font-size: 1.1em;
  border: 3px solid #1e1e1e;
  background-color: #262626;
  color: white;
  letter-spacing: 4px;
  border-radius: 4px;
  padding: 16px;
  margin: 4px;
  outline: none;
  cursor: inherit;
}

.back {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  border-radius: 4px;
  cursor: pointer;
  background-color: #1e1e1e;
}

.back:hover {
  background-color: #444444;
}

form {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-radius: 10px;
  background-color: #383838;
}

form .form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
}

form .form-group .form-label {
  display: block;
  margin-bottom: 10px;
  color: #bbbbbb;
}

form .form-group .form-input {
  display: block;
  width: 100% !important;
  padding: 10px;
  font-size: 0.9em;
  border: none;
  border-radius: 8px;
  background-color: #434343;
  color: #ffffff;
  outline: none;
}

form .inline-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 8px 0;
}

form .inline-label {
  font-size: 0.9em;
}

.fc-col-header-cell,
.fc-daygrid-day,
.fc-daygrid {
  border: 2px solid #383838;
}

.fc-col-header-cell {
  background-color: #383838;
}

.fc .fc-col-header-cell-cushion {
  padding: 12px;
}

.fc-daygrid-day {
  background-color: #454545;
}

.fc-list-day > th {
  background-color: #1e1e1e !important;
}

.fc-daygrid-event {
  cursor: pointer;
}

.fc-list-event {
  background-color: #282828;
  cursor: pointer;
}

.fc-list-event:hover > td {
  background-color: #343434 !important;
}

.fc-list-empty {
  background-color: #282828 !important;
}

.btn {
  padding: 12px;
  margin: 1px;
  border: none;
  border-radius: 4px;
  background-color: #454545;
  color: white;
  cursor: pointer;
}

.btn:hover {
  background-color: #565656;
}

.fc-toolbar-chunk {
  display: flex;
  flex-direction: row;
}

.custom-tooltip {
  display: none;
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  pointer-events: none;
  border: 1px solid #212121;
  border-radius: 4px;
  background-color: #282828;
  font-size: 0.9em;
  padding: 12px;
  z-index: 97;
}

.custom-tooltip .text-bold {
  font-weight: bold;
}

.custom-tooltip .text-italic {
  font-style: italic;
}

.custom-tooltip p {
  margin: 4px;
}

.modale {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 98;
}

.modale-container {
  display: block;
  position: fixed;
  width: 80%;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  padding: 32px;
  background-color: #444444;
  border-radius: 8px;
  z-index: 99;
}

.modale-close-button {
  position: absolute;
  top: 12px;
  right: 18px;
  left: auto;
  bottom: auto;
  cursor: pointer;
}

.modale-close-button i {
  font-size: 1.8em;
}

.modale-close-button:hover i {
  color: white;
}

.modal-filter {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.5;
}

.quick-session {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 12px;
  padding: 8px 12px;
  background-color: #444444;
  color: white;
  border-radius: 8px;
}

.current-session {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: space-between;
}

.session-id {
  display: block;
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  border-radius: 50px;
  background-color: #484848;
  top: 20px;
  right: 20px;
  font-size: 0.9em;
  font-weight: bold;
}

.session-school-name,
.session-school-email,
.session-duration,
.session-date,
.session-themes {
  margin: 6px 0;
}

.session-themes {
  display: flex;
  flex-direction: row;
}

.session-theme {
  margin-right: 8px;
  padding: 6px 12px;
  border-radius: 20px;
  background-color: #484848;
  cursor: pointer;
}

.session-theme:hover {
  background-color: #555555;
}

.session-theme input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
}

.session-theme label {
  margin-left: -1px;
  pointer-events: none;
}

.chosen-theme {
  background-color: #ea3232;
  color: white;
}

.chosen-theme:hover {
  background-color: #ff5454;
}

.session-school-name {
  margin-bottom: 8px;
  font-size: 1.4em;
  font-weight: bold;
}

.gallery {
  background-color: #383838;
  padding: 20px;
}

.gallery .photos {
  display: flex;
  flex-wrap: nowrap;
}

.gallery .photos img {
  margin: 8px;
}

.space-between {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.flex {
  display: flex;
  flex-direction: row;
}

.sessions-actions .flex * {
  margin: 0 8px;
}

