* {
  box-sizing: border-box;
  font-family: 'Nunito';
}
html,
body {
  margin: 0;
  padding: 0;
}
html {
  background: url('/themes/frontend/gamed_com/_resources/img/bg.jpg');
  background-position-x: center;
  background-attachment: fixed;
  background-size: cover;
}
.form {
  width: 400px;
  margin: 0 auto;
}
.form div.success-text {
  background: rgba(0, 0, 0, 0.5);
}
.form .form-item label {
  padding: 10px 0 5px 10px;
}
.form .form-item input,
.form .form-item textarea {
  background: rgba(0, 0, 0, 0.5) !important;
  border: 0 none !important;
  border-radius: 3px;
  padding: 10px !important;
  color: #fff;
  resize: none;
}
.form .form-item select {
  display: block;
  background: rgba(0, 0, 0, 0.5) !important;
  border: 0 none !important;
  border-radius: 3px;
  padding: 10px !important;
  color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form .form-item.is--ok input,
.form .form-item.is--ok select,
.form .form-item.is--ok textarea {
  border: 1px solid #2ecc71 !important;
}
.form .form-item.has--error input,
.form .form-item.has--error select,
.form .form-item.has--error textarea {
  border: 1px solid #e74c3c !important;
}
.form .form-item.is--button {
  text-align: center;
  margin: 15px 0 0 0;
}
.form .form-item.is--button button {
  border: 0 none;
  background: #3498db;
  border-radius: 3px;
  color: #fff;
}
.form .form-item div.invalid-value {
  text-align: center;
  margin: 5px 0 0 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  color: #b30000 !important;
}
.app .logo {
  width: 900px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
.app .logo img {
  width: 250px;
}
.app .logo a.facebook-link,
.app .logo a.teamspeak-link {
  color: #fff;
  font-size: 32px;
  text-decoration: none;
}
.app .logo a.facebook-link:hover,
.app .logo a.teamspeak-link:hover {
  color: #23cdf7;
}
.app .logo a.facebook-link {
  position: absolute;
  top: 25px;
  right: 25px;
}
.app .logo a.teamspeak-link {
  position: absolute;
  top: 25px;
  left: 25px;
}
.app .menu {
  width: 100%;
  margin: 100px 0 50px;
}
.app .menu .menu-inner {
  width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.app .menu ul {
  display: flex;
  flex-direction: row;
  list-style: none;
  margin: 0;
  padding: 0;
}
.app .menu ul li {
  background: rgba(0, 0, 0, 0.4);
  margin: 0 30px 0 0;
  border-radius: 5px;
}
.app .menu ul li:last-child {
  margin: 0;
}
.app .menu ul li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 20px 60px;
  font-size: 20px;
}
.app .menu ul li.active a {
  color: #23cdf7;
}
.app .menu ul li:hover:not(.active) a {
  color: #23cdf7;
}
.app .content {
  width: 900px;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.5);
  padding: 15px;
  color: #fff;
}
.app .content p {
  margin: 0;
  padding: 0;
}
.app .content a {
  color: #3498db;
}
.app[data-route="/join-us/"] .content {
  background: none;
  padding: 0;
}
.app[data-route="/join-us/"] .content .games {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
}
.app[data-route="/join-us/"] .content .games .game {
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}
.app[data-route="/join-us/"] .content .games .game:hover span.label {
  opacity: 0;
  pointer-events: none;
}
.app[data-route="/join-us/"] .content .games .game:hover img.image {
  transform: scale(1.1);
  opacity: 1;
}
.app[data-route="/join-us/"] .content .games .game:hover div.hover-content {
  opacity: 1;
  pointer-events: all;
}
.app[data-route="/join-us/"] .content .games .game span.label {
  font-size: 32px;
  z-index: 5;
  width: 100%;
  background: rgba(0, 0, 0, 0.25);
  text-align: center;
  font-weight: bold;
  transition: all 0.25s;
}
.app[data-route="/join-us/"] .content .games .game img.image {
  position: absolute;
  width: 100%;
  opacity: 0.6;
  transition: all 0.25s;
  transform: scale(1.2);
}
.app[data-route="/join-us/"] .content .games .game div.hover-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background: rgba(0, 0, 0, 0.25);
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s;
}
.app[data-route="/join-us/"] .content .games .game div.hover-content p {
  width: 80%;
  margin: 0 0 15px 0;
}
.app[data-route="/join-us/"] .content .games .game div.hover-content a {
  background: #009BEB;
  color: #fff;
  border: 0;
  padding: 15px 40px;
  font-size: 20px;
  cursor: pointer;
  text-decoration: none;
}
.app[data-route="/join-us/"] .content .games .game div.hover-content a:hover {
  background: #05aaff;
}
.app[data-route="/join-us/teeworlds"] .content {
  background: none;
  padding: 0;
}
form.form {
  transition: opacity 0.25s ease;
}
form.form div.success-text {
  border: 1px solid #2ecc71;
  border-left-width: 5px;
  padding: 10px;
  margin: 0 0 10px 0;
  display: none;
}
form.form h1 {
  font-weight: 300;
  margin: 0;
  padding: 0;
}
form.form div.paragraph p {
  margin: 0;
  padding: 0 0 15px 0;
}
form.form.sending {
  opacity: 0.5;
  pointer-events: none;
}
form.form div.form-item {
  margin: 0 0 5px 0;
}
form.form div.form-item label {
  display: block;
}
form.form div.form-item input[type=text],
form.form div.form-item input[type=email],
form.form div.form-item input[type=password],
form.form div.form-item input[type=number],
form.form div.form-item textarea,
form.form div.form-item select {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 5px;
  font-size: 14px;
  outline: 0 none;
  background: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
form.form div.form-item input[type=text]:focus,
form.form div.form-item input[type=email]:focus,
form.form div.form-item input[type=password]:focus,
form.form div.form-item input[type=number]:focus,
form.form div.form-item textarea:focus,
form.form div.form-item select:focus {
  border-color: #3498db;
}
form.form div.form-item.is--checkbox label {
  display: inline-block;
  font-size: 14px;
}
form.form div.form-item.has--error input,
form.form div.form-item.has--error textarea,
form.form div.form-item.has--error select {
  border: 1px solid #e74c3c;
}
form.form div.form-item.is--ok input,
form.form div.form-item.is--ok textarea,
form.form div.form-item.is--ok select {
  border: 1px solid #2ecc71;
}
form.form div.form-item .invalid-value {
  color: #e74c3c;
  margin: 0 0 15px 15px;
  font-size: 14px;
  display: none;
}
form.form div.form-item button {
  border: 1px solid #ccc;
  padding: 10px 30px;
  font-size: 14px;
}
form.form div.form-item button:hover {
  border-color: #3498db;
  cursor: pointer;
}
