/*  Oloko Responsive Theme  */
/* Copyright Joubgames 2026 */

:root{
  --header-bg:#61b1ff;
  --rad:10px;
  --color-dark:#333;
  --color-blue:#328bcf;
  --header-play-bg:#fff;
  /* YELLOW LOGIN BUTTON */
  --button-login:#ffec3e;
  --button-login:linear-gradient(170deg, #ffec3a 50%, #ffd70f 70%);
  --button-login-hover:#ffd729;
  --button-login-text:var(--button-text);
  --button-login-outline:#f1b718;
  /* BLUE READ MORE BUTTON */
  --button-blue:#1799e2;
  --button-blue-hover:#0971ad;
  --button-blue-text:#fff;
  --button-blue-outline:#1799e2;
  --button-text:var(--color-dark);
  --button-padding:.5rem 1.5rem;
  --nav-bg:#9fd832;
  --nav-hover-bg:#c9e85d;
  --shadow:0 0 3px rgb(0 0 0);
  /* GREEN LOGIN BUTTON */
  --button-green:#91d500;
  --button-green:linear-gradient(170deg, #91d500 50%, #8ac708 70%);
  --button-green-hover:#6ab201;
  --button-green-text:#fff;
  --button-green-outline:#406f00;
  /* MAIN PAGE BOXES */
  --box-header-main-bg:#1799e2;
  --box-header-main-text:#fff;
  --box-header-secondary-bg:#ffdd3e;
  --box-header-secondary-text:var(--color-dark);
  /* SUB PAGE */
  --subpage-header-bg:#7ec50e;
  --subpage-header-text:#fff;
  --subpage-main-bg:#fff;
  --subpage-sidebar-bg:#efefef;
  --subpage-radius:calc(var(--rad) * 2);
  --subpage-border:3px solid var(--subpage-main-bg);
  /* ARTICLES */
  --blog-link-color:var(--color-blue);
  --blog-comment-bg:#f5f5f5;
}

*{
  box-sizing:border-box;
}

/* RESETS */
h1,
h2,
h3,
h4,
h5,
h6,
p{
  margin:0;
  padding:0;
  font-size:100%;
}

html{
  font:inherit;
  font-family:Verdana, sans-serif;
  background-image:url('./assets/bg.webp');
  background-repeat:no-repeat;
  background-position:top center;
  background-color:#128ce0;
}

body{
  margin:0;
}

main{
  min-height:50vh;
}

/* HEADER */

header .header-main{
  background-color:var(--header-bg);
  border-radius:0 0 var(--rad) var(--rad);
  box-shadow:var(--shadow);
  z-index:2;
}

header .header-secondary{
  z-index:1;
}

header .navbar{
  float:right;
  list-style:none;
  display:flex;
  background-color:var(--nav-bg);
  border-radius:0 0 var(--rad) var(--rad);
  overflow:hidden;
  box-shadow:var(--shadow);
  flex-wrap:wrap;
}

header .navbar .nav-item{
  border-right:2px dotted var(--nav-hover-bg);
}

header .navbar .nav-item:last-child{
  border-right:none;
}

header .navbar .nav-item:hover{
  background-color:var(--nav-hover-bg);
}

header .navbar .nav-item a{
  color:var(--button-text);
  text-decoration:none;
  font-size:90%;
}

.btn{
  display:inline-block;
  user-select:none;
}

.btn:focus-visible{
  outline:solid 2px #000!important;
}

.btn.login{
  background:var(--button-login);
  color:var(--button-login-text);
  cursor:pointer;
  padding:var(--button-padding);
  font-weight:normal;
  border-radius:calc(var(--rad) / 2);
  outline: 1px solid var(--button-login-outline);
  box-shadow:0 0 3px #000;
  text-decoration:none;
  text-align:center;
  font-family:"HirukoWeb";
}

.btn.login:hover{
  background:var(--button-login-hover);
}

[aria-hidden="true"]{
  display: none !important;
}

.language-selector{
  max-width:8rem;
  width:8rem;
  min-width:6rem;
  background-color:white;
  font-size:80%;
  text-align:left;
  position:relative;
  border-top-left-radius:calc(var(--rad) / 2);
  border-bottom-left-radius:calc(var(--rad) / 2);
}

.language-selector:has(.languages[aria-hidden="false"]){
  border-bottom-left-radius:0;
}

.language-selector.current{
  border-radius:calc(var(--rad) / 2) 0 0 calc(var(--rad) / 2);
}

.language-selector .language{
  text-align:left;
}

.language-selector .language span{
  display:inline-block;
  padding:.5rem;
  user-select:none;
}

.language-selector .language span::before{
  content:"";
  display:inline-block;
  width:1.1rem;
  aspect-ratio:4/3;
  margin-right:.5rem;
  background-size:cover;
  background-repeat:no-repeat;
  vertical-align:sub;
}

@supports not (aspect-ratio: 4/3){
  .language-selector .language span::before{
    height: 0.8rem;
    width: 1.1rem;
    transform: translateY(-1px);
  }
}

.language-selector .language.en span::before{
  background-image:url(./assets/flags/en.svg);
}

.language-selector .language.de span::before{
  background-image:url(./assets/flags/de.svg);
}

.language-selector .language a{
  display:inline-block;
  width:100%;
  height:100%;
}

.language-selector .language a:hover{
  background-color:#c1e0ff;
}

.language-holder{
  flex-direction:row-reverse;
}

.btn.language-arrow{
  display:inline-block;
  aspect-ratio:1/1;
  width:2rem;
  background-color:rgb(255 255 255 / 20%);
  border:0;
  border-radius:0 calc(var(--rad) / 2) calc(var(--rad) / 2) 0;
  border:2px solid #fff;
  border-left:none;
  font-weight:bolder;
  color:white;
  cursor:pointer;
  font-family: system-ui;
  font-size: 1.24rem;
}

.language-selector .languages{
  position:absolute;
  list-style:none;
  margin:0;
  padding:0;
  border-radius:0 0 calc(var(--rad) / 2) calc(var(--rad) / 2);
  overflow:hidden;
}

.language-selector .languages .language{
  max-width:8rem;
  width:8rem;
  background-color:white;
  border-top:1px dashed rgba(0 0 0 / 30%);
}

.language-selector .languages .language a{
  color:inherit;
  text-decoration:inherit;
}

@media (min-width: 768px) {
  header .logo{
    margin-bottom:-10%;
    margin-bottom:-17%;
  }
}

header .logo{
  position:relative;
}

header .slogan{
  position:absolute;
  font-family:"HirukoWeb", sans-serif;
  color:#1498e1;
  text-align:center;
  width:100%;
  filter:drop-shadow(0 0 2px #fff);
  transform:translateY(-.25rem);
  user-select:none;
}

@supports (-webkit-text-stroke: 1px #fff) and (paint-order: stroke fill){
  header .slogan{
    filter:none!important;
    -webkit-text-stroke: 3px #fff;
    paint-order: stroke fill;
  }
}

/* FRONT PAGE */
main{
  --shadow:0 0 3px rgb(0 0 0 / 50%);
}

.promo-box > img{
  display:block;
  margin:auto;
  max-width:100%;
  user-select:none;
}

@media (min-width: 768px) and (max-width: 991px) {
  .promo-box > img{
    margin-top:3rem;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .promo-box > img{
    margin-top:3rem;
  }
}

@media (max-width: 575px) {
  .promo-box > img{
    margin-top:7vh;
  }
}

/* VIDEO VERSION */
.promo-box.video{
  align-items:center;
  position:relative;
}

.promo-box video{
  max-width:100%;
  margin-left:3rem;
  margin-top:1rem;
}

.promo-box .board{
  width:350px;
  height:340px;
  background-image:url(./assets/welcome/Board.svg);
  background-repeat:no-repeat;
  /*max-width:100%;*/
  min-width:350px;
  position:relative;
}

@keyframes beeFly{
  0%{
    transform:translate(0,0);
  }
  25%{
    transform:translate(5px, 2px);
  }
  50%{
    transform:translate(0, -5px);
  }
  75%{
    transform:translate(-5px, 5px);
  }
}

.promo-box .board .bee{
  width:45px;
  height:75px;
  position:absolute;
  top:0;
  right:0;
  animation: beeFly 5s infinite linear;
  user-select:none;
}

.promo-box.video{
  margin-top:2rem;
}

/* TIMO IS NICE TO PEOPLE !! */
@media (prefers-reduced-motion: reduce) {
  .promo-box .board .bee,
  .promo-box .board .btn-register{
    animation:none;
  }
}

.promo-box .board h1{
  padding-top: 3.5rem;
  text-align: center;
  font-family: "HirukoWeb", Verdana, sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  color: #6a3a0f;
}

.promo-box .board ul{
  margin-top:.7rem;
  list-style:none;
  padding-left:4rem;
  display:flex;
  flex-direction:column;
  gap:.98rem;
  font-family: "HirukoWeb", Verdana, sans-serif;
  font-weight: 400;
  font-size: .93rem;
  color: #6a3a0f;
  padding-right:1.5rem;
}

.promo-box .btn-register{
  text-align:center;
  background-image:url(./assets/welcome/btn0001.svg);
  background-repeat:no-repeat;
  background-size:contain;
  width:239px;
  height:75px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:auto;
  color:white;
  text-decoration:none;
  font-family:"HirukoWeb", Verdana, sans-serif;
  font-size:1.4rem;
  text-shadow:3px 2px 0 rgb(0 0 0 / 25%);
  animation: poke 3s infinite;
  user-select:none;
}

.promo-box .btn-register > span{
  transform:translateY(1.6px);
}

.promo-box .btn-register:hover{
  background-image:url(./assets/welcome/btn0002.svg);
  animation:none;
}

.promo-box .btn-register:hover > span{
  transform:translateY(5px);
}

@keyframes poke{
  0%{
    transform:none;
  }
  90%{
    transform:none;
  }
  95%{
    transform:scale(1.1);
  }
  100%{
    transform:none;
  }
}

.btn.blue{
  background:var(--button-blue);
  color:var(--button-blue-text);
  cursor:pointer;
  padding:var(--button-padding);
  font-weight:bold;
  border-radius:calc(var(--rad) / 2);
  outline: 1px solid var(--button-blue-outline);
  box-shadow:0 0 3px #000;
  text-decoration:none;
  text-align:center;
  width:max-content;
}

.btn.blue:hover{
  background:var(--button-blue-hover);
}

.main-boxes{
  gap:1rem;
}

.box{
  display:flex;
  flex-direction:column;
  background-color:white;
  flex:1 1 15rem;
  padding-right:0!important;
  padding-left:0!important;
  border-radius:var(--rad);
  box-shadow:var(--shadow);
  /*min-height:20rem;*/
}

.box .box-header{
  background-color:var(--box-header-bg, rgb(95, 95, 95));
  padding:.5rem;
  font-size:150%;
  font-family:"HirukoWeb";
  font-weight:normal;
  border-top-left-radius:inherit;
  border-top-right-radius:inherit;
  color:var(--box-header-text);
}

.box .box-header h2{
  font-weight:inherit;
}

.box.main{
  --box-header-bg:var(--box-header-main-bg);
  --box-header-text:var(--box-header-main-text);
}

.box.secondary{
  --box-header-bg:var(--box-header-secondary-bg);
  --box-header-text:var(--box-header-secondary-text);
}

.box .box-content{
  padding:1rem;
  font-size:90%;
  display:flex;
  flex-direction:column;
  height:100%;
}

.box .box-content h3{
  margin-bottom:1rem;
  color:var(--box-header-bg);
}

.box .box-content ul{
  padding-left:inherit;
  margin:inherit;
}

.box .box-content ul li{
  margin-bottom:1rem;
}

.floatRight{
  align-self:flex-end;
}

ul.green{
  list-style:none;
  height:100%;
  display:flex;
  flex-direction:column;
}

ul.green li .check{
  width:33px;
  height:36px;
  aspect-ratio:1/1;
  background-image:url(./assets/check.png);
  background-repeat:no-repeat;
  background-size:contain;
  margin-right:.5rem;
}

ul.green li{
  padding:.5rem 0;
  display:flex;
  align-items:center;
}

.autospacer{
  flex-grow:1;
}

/* FOOTER */

footer{
  padding-top:4rem!important;
  padding-bottom:4rem!important;
  color:white;
  background-image:url(./assets/footer.webp);
  background-repeat:no-repeat;
  background-position:bottom;
}

footer .links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin-bottom:0.5rem;
}

footer .links li a{
  display:inline-block;
  background-color:#2b84d8;
  padding:.5rem;
  width:100%;
  color:#fff;
  text-decoration:none;
  border:2px solid #4b9fe9;
  border-radius:calc(var(--rad) / 2);
  font-size:smaller;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}

footer .links li a:hover{
  background-color:#4ba7f6;
}

.footer .links li a:focus-visible{
  outline:2px solid #000;
}

footer > div{
  padding:.5rem!important;
}

footer .notice p{
  text-align:center;
  font-size:smaller;
}

footer .productFrom{
  width:max-content;
}

footer .productFrom a{
  display:inline-block;
}

.container.smaller{
  max-width:1000px;
}

/* SUB PAGES */
.subpage{
  background-color:var(--subpage-main-bg);
  display:flex;
  flex-direction:column;
  border-radius:var(--subpage-radius);
  /*overflow:hidden;*/
  margin-top:3rem;
  border:var(--subpage-border);
  box-shadow:var(--shadow);
  position:relative;
}

.subpage .category-header{
  background-color:var(--subpage-header-bg);
  color:var(--subpage-header-text);
  padding:.75rem 1rem;
  font-size:1.6rem;
  font-weight:bold;
  --border-radius: calc(var(--subpage-radius) * 0.9);
  border-top-left-radius:var(--border-radius);
  border-top-right-radius:var(--border-radius);
  margin-left:inherit;
  margin-right:inherit;
}

.subpage .content{
  display:flex;
  flex-direction:column;
  position:relative;
  margin-left:inherit;
  margin-right:inherit;
  border-bottom-left-radius:inherit;
  border-bottom-right-radius:inherit;
}

.subpage .content.two-columns{
  flex-direction:row;
}

.subpage .content.two-columns > .column:first-child{
  background-color:var(--subpage-sidebar-bg);
  --border-radius: calc(var(--subpage-radius) * 0.9);
  border-bottom-left-radius:var(--border-radius);
}

.subpage .content .column{
  display:flex;
  flex-direction:column;
  padding:1rem;
  position:relative;
}

.subpage .subpage-header{
  color:var(--blog-link-color);
  border-bottom:1px dashed rgb(0 0 0 / 50%);
  font-size:larger;
  padding-bottom:.2rem;
  margin-bottom:2rem;
  display:flex;
  justify-content:space-between;
}

.subpage .subpage-header .leaf{
  display:inline-block;
  width:34px;
  height:30px;
  background-image:url(./assets/blog/leaf.png);
  background-color:white;
  margin-bottom:-4px;
}

.post .post-title a{
  color:inherit;
  text-decoration:none;
}

.post .post-title a:hover{
  color:var(--blog-link-color);
}

.subpage .column aside{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.82rem;
}

.subpage .post .post-title{
  margin-bottom:1rem;
  font-weight:bold;
}

.subpage .post .post-title:has(.inline){
  display:flex;
  align-items:center;
  gap:.5rem;
}

.subpage .post .post-date{
  background-color:var(--subpage-header-bg);
  color:var(--subpage-header-text);
  padding:.5rem 1rem;
  text-align:center;
  border-radius:100px;
  text-wrap:nowrap;
}

.subpage .post .post-date.new{
  width:max-content;
  font-size:smaller;
  padding:.2rem .5rem;
  border-radius:5px;
  margin-bottom:.4rem;
}

.subpage .post-content{
  display:flex;
  flex-direction:column;
  text-wrap:balance;
}

.subpage .post h1,
.subpage .post-content h2,
.subpage .post-content h3{
  color:var(--color-dark);
}

.subpage .post-content p{
  font-size:.8rem;
  padding-bottom:1rem;
}

.subpage .post-content a{
  color:var(--blog-link-color);
}

.subpage .post-content img{
  max-width:100%;
  height:auto;
  margin-bottom:1rem;
}

.subpage .subpage-inner{
  display:flex;
}

.subpage .post-metadata{
  display:flex;
  background-color:#f7f7f7;
  padding:.4rem .5rem;
  padding-right:2.5rem;
  font-size:.8rem;
  justify-content:space-between;
  margin:0 0 1rem 0;
  border-bottom:1px dotted rgb(0 0 0 / 50%);
  position:relative;
}

.subpage .post-metadata:after{
  content:"";
  width:31px;
  height:36px;
  background-image:url(./assets/blog/comments_paintbucket_small.png);
  background-repeat:no-repeat;
  display:inline-block;
  position:absolute;
  right:.1rem;
  bottom:.2rem;
}

.subpage .post-metadata a{
  color:var(--blog-link-color);
  text-decoration:none;
}

.subpage .post-metadata a:hover{
  text-decoration:underline;
}

.subpage .post-metadata .post-comments-link > a{
  position:relative;
}

.subpage .post-metadata .post-comments-link > a:before{
  display:inline-block;
  content:"";
  background-image:url(./assets/blog/comments_icon.gif);
  width:22px;
  height:22px;
  position:absolute;
  left:-1.5rem;
  top:-.1rem;
}

.subpage .subpage-links{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  position:relative;
  list-style:none;
  padding:0;
}

.subpage .subpage-links li{
  position:relative;
}

.subpage .subpage-links li a{
  display:inline-block;
  background-color:var(--header-bg);
  color:var(--subpage-header-text);
  padding:.8rem 1rem .8rem 1.5rem;
  font-weight:bold;
  text-decoration:none;
  position:relative;
  width:100%;
}

.subpage .subpage-links li a[active],
.subpage .subpage-links li a:hover{
  background-color:#3792de;
}

.subpage-links a > span {
  transform: translateY(1px);
}

/* DESKTOP VIEW */
@media (min-width: 992px) {
  .subpage .subpage-links li a{
    margin-left:-1.9rem;
    width:117%;
    background-image:url(./assets/blog/sidepanel_link.png);
    background-position:top;
    background-color:unset;
    background-size:100%;
    width:212px;
    height:47px;
    display:flex;
    align-items:center;
  }

  .subpage .subpage-links li a:hover,
  .subpage .subpage-links li a[active]{
    margin-left:-2.2rem;
    background-position:bottom;
    background-color:unset;
  }
}

/* MOBILE VIEW */
@media (max-width: 991px) {
  .subpage .subpage-links li a{
    border-radius:var(--rad);
    box-shadow:0 .2rem 0 rgb(0 0 0 / 15%);
  }
  .subpage .content.two-columns > .column:first-child{
    border-radius:unset;
    background-color:unset;
  }
}

/* HOTFIX, blog panel is too big using 12-GRID */
@media (min-width: 992px) {
  .subpage .content .column.col-lg-3:has(.subpage-links) {
    width:21%;
  }
}

.blog-navigation-links{
  display:flex;
  justify-content:space-between;
  font-size:smaller;
}

.blog-navigation-links a{
  color:var(--blog-link-color);
}

.subpage article + article{
  margin-top:2rem;
}

/* CALENDAR */

.subpage .calendar{
  width:217px;
  height:371px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.subpage .calendar.month_01 { background-image:url('./assets/blog/calendar_pictures/01.png'); }
.subpage .calendar.month_02 { background-image:url('./assets/blog/calendar_pictures/02.png'); }
.subpage .calendar.month_03 { background-image:url('./assets/blog/calendar_pictures/03.png'); }
.subpage .calendar.month_04 { background-image:url('./assets/blog/calendar_pictures/04.png'); }
.subpage .calendar.month_05 { background-image:url('./assets/blog/calendar_pictures/05.png'); }
.subpage .calendar.month_06 { background-image:url('./assets/blog/calendar_pictures/06.png'); }
.subpage .calendar.month_07 { background-image:url('./assets/blog/calendar_pictures/07.png'); }
.subpage .calendar.month_08 { background-image:url('./assets/blog/calendar_pictures/08.png'); }
.subpage .calendar.month_09 { background-image:url('./assets/blog/calendar_pictures/09.png'); }
.subpage .calendar.month_10 { background-image:url('./assets/blog/calendar_pictures/10.png'); }
.subpage .calendar.month_11 { background-image:url('./assets/blog/calendar_pictures/11.png'); }
.subpage .calendar.month_12 { background-image:url('./assets/blog/calendar_pictures/12.png'); }

.subpage .calendar caption{
  font-weight:bold;
  font-size:1.2rem;
  color:white;
  margin-bottom:4px;
}

.subpage .calendar table{
  transform:translateY(152px);
  font-size:smaller;
}

.subpage .calendar thead{
  background-color:var(--header-bg);
}

.subpage .calendar th,
.subpage .calendar td{
  padding:.2rem .28rem;
  text-align:center;
  color:var(--box-header-secondary-text);
}

.subpage .calendar thead,
.subpage .calendar tbody{
  transform:translateX(-4px);
}

.subpage .calendar tbody{
  font-size:smaller;
}

.subpage .calendar tbody td{
  border-right:1px solid rgb(0 0 0 / 5%);
}

/* Archive */

.subpage .archive{
  background-color:#fcf9e3;
  box-shadow:var(--shadow);
  padding:1rem 2rem;
  border-radius:var(--rad);
  position:relative;
}

.subpage .archive h2{
  color:#c4161c;
  font-family:"HirukoWeb";
  font-size:1.4rem;
  text-align:center;
}

.subpage .archive ul{
  padding:0;
}

.subpage .archive ul,
.subpage .pages ul{
  list-style-type:"\00BB  ";
}

.subpage .archive ul li > a{
  font-size:smaller;
  text-decoration:none;
  color:black;
  color:var(--blog-link-color);
}

.subpage .archive ul li > a:hover,
.subpage .pages ul li > a:hover{
  text-decoration: underline;
}

.subpage .box.small .box-header h2{
  font-size:smaller;
  text-align:center;
}

.subpage .pages{
  position:relative;
}

.subpage .pages ul li > a {
  font-size:smaller;
  text-decoration:none;
  color:var(--blog-link-color);
}

@media (max-width: 767px) {
  .subpage .column aside{
    flex-direction:row;
    height:max-content;
    align-items:flex-start;
    margin-top:2rem;
    justify-content:space-evenly;
    flex-wrap:wrap;
  }
}

/* CONNECTIONS - desktop only */
@media (min-width: 768px) {
  .subpage .pages:before{
    content:"";
    width:100%;
    background-position:center;
    background-size:contain;
    height:35px;
    background-image:url(./assets/blog/widgets/connection2.png);
    background-repeat:no-repeat;
    position:absolute;
    transform:translateY(-13px);
  }

  .subpage .pages .box-header{
    padding-top:1rem;
  }

  .subpage .archive{
    margin-top:.16rem;
  }

  .subpage .archive:before{
    content:"";
    width:100%;
    background-position:center;
    background-size:contain;
    height:38px;
    background-image:url(./assets/blog/widgets/connection1.png);
    background-repeat:no-repeat;
    position:absolute;
    transform:translateY(-32px) translateX(-1px);
    left:0;
    right:0;
  }

  .subpage .archive h2{
    margin-top:.5rem;
  }
}

/* MAINTENANCE */

.maintenance{
  margin-top:10rem;
}

.maintenance .box-content{
  position:relative;
  flex-direction:row;
  justify-content:space-evenly;
  align-items:center;
  gap:2rem;
}

.maintenance .niko{
  align-self:flex-end;
}

.maintenance a{
  color:var(--blog-link-color);
}

/* GOLD MEMBERSHIP PAGE */

span.special{
  color:#f8444c;
}

.center{
  text-align:center;
}

.subpage-header2{
  font-weight:bold;
  font-size:1.2rem;
  color:var(--box-header-secondary-text);
  margin-bottom:3rem;
}

.membership-list{
  display:flex;
  justify-content:space-evenly;
  margin-top:2rem;
  justify-self:center;
}

.membership-box{
  text-align:center;
  padding:.5rem;
  overflow:hidden;
}

.membership-box .content-holder{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1rem;
  background-color:#62aff4;
  color:white;
  box-shadow:var(--shadow);
  position:relative;
  outline:.2rem solid #fff;
  outline-offset:-.15rem;
}

.membership-box .content-holder::before,
.membership-box .content-holder::after{
  content: "";
  background-color: white;
  display: block;
  position: absolute;
  width: 40px;
  height: 100px;
  box-shadow: -2px 0px 2px rgba(0, 0, 0, 0.2);
}

.membership-box .content-holder::before{
  bottom: -50px;
  left: -25px;
  transform: rotate(135deg);
}

.membership-box .content-holder::after{
  top: -50px;
  right: -25px;
  transform: rotate(-45deg);
}

.membership-box .content-holder h3{
  font-size:1.5rem;
}

.membership-box .price{
  color:var(--box-header-secondary-text);
  font-size:1.7rem;
  font-weight:bold;
  background-color:white;
  padding-top:.5rem;
  padding-bottom:.5rem;
  box-shadow:var(--shadow);
}

.btn.yellow{
  background:var(--button-login);
  color:var(--button-login-text);
  cursor:pointer;
  padding:var(--button-padding);
  font-weight:normal;
  border-radius:calc(var(--rad) / 2);
  outline: 1px solid var(--button-login-outline);
  box-shadow:0 0 3px #000;
  text-decoration:none;
  text-align:center;
  font-family:"HirukoWeb";
}

.btn.yellow:hover{
  background:var(--button-login-hover);
}

.membership-box .btn.yellow{
  width:max-content;
  align-self:center;
}

.subpage .subpage-inner.grid{
  display:grid;
}

.subpage .subpage-inner .subtitle{
  color:var(--box-header-secondary-text);
}

.subpage .membership-bullets{
  color:var(--box-header-secondary-text);
  font-size:smaller;
  list-style:none;
}

.subpage .membership-bullets li{
  padding-bottom:.5rem;
}

.subpage .membership-bullets li:before{
  display:inline-block;
  content:"";
  height:10px;
  width:10px;
  background-image:url(./assets/pages/bullet.png);
  background-repeat:no-repeat;
  margin-right:.5rem;
}

.subpage .perks-box{
  background-color:#f8f8e4;
  box-shadow:2px 2px 0 #dadada;
  border-radius:calc(var(--rad) / 2);
  position:relative;
}

.subpage .perks-box:before{
  content:"";
  position:absolute;
  width:17px;
  height:19px;
  background-image:url(./assets/pages/paper_pin2.png);
  background-repeat:no-repeat;
  left:-.2rem;
  top:-.2rem;
}

.subpage .perks-box:after{
  content:"";
  position:absolute;
  width:17px;
  height:19px;
  background-image:url(./assets/pages/paper_pin2.png);
  background-repeat:no-repeat;
  top:-.2rem;
  right:-.2rem;
  transform:scaleX(-1);
}

.subpage .perks-box-header,
.subpage .perks-box-row{
  display:flex;
}

.subpage .perks-box > * > .column:nth-of-type(1){
  flex-basis:50%;
  justify-content:center;
}

.subpage .perks-box > * > .column:nth-of-type(2),
.subpage .perks-box > * > .column:nth-of-type(3){
  flex-basis:25%;
  display:flex;
  align-items:center;
  font-weight:bold;
}

.subpage .perks-box-header h2{
  background-color:#fdee65;
  border-radius:200px;
  padding:.5rem 1rem;
  font-size:larger;
  color:var(--color-dark);
}

.justifyCenter{
  justify-self:center;
}

.perks-box .perk{
  content:"";
  width:36px;
  height:36px;
  background-repeat:no-repeat;
  background-size:contain;
}

.perks-box .perk.no{
  background-image:url(./assets/pages/perk_no.png);
}

.perks-box .perk.yes{
  background-image:url(./assets/pages/perk_yes.png);
}

.subpage .perks-box-row{
  font-size:smaller;
  color:var(--color-dark);
}

.perks-box-row + .perks-box-row{
  border-top:1px dashed rgb(0 0 0 / 25%);
}

.subpage .perks-box-row .column{
  padding:.5rem 1.5rem;
}

@media (max-width: 1000px){
  .subpage .perks-box > * > .column:nth-of-type(1){
    flex-basis:70%;
  }

  .subpage .perks-box > * > .column:nth-of-type(2),
  .subpage .perks-box > * > .column:nth-of-type(3){
    flex-basis:15%;
  }
}

@media (max-width: 700px){
  .subpage .perks-box-header h2{
    font-size:unset;
  }
  .subpage .perks-box-header .column:nth-of-type(1){
    padding:.5rem 1.5rem;
  }
}

@media (max-width: 600px){
  .subpage .perks-box-header,
  .subpage .perks-box-row{
    flex-wrap:wrap;
    text-align:center;
  }
  .subpage .perks-box > * > .column:nth-of-type(1){
    flex-basis:100%;
  }
  .subpage .perks-box > * > .column:nth-of-type(2),
  .subpage .perks-box > * > .column:nth-of-type(3){
    flex-basis:50%;
  }
}

/* PLAY PAGE */
html.play{
  background-image:none;
  background-color:#6092F1;
}

header .header-play{
  background-color:var(--header-play-bg);
  border-radius:0 0 var(--rad) var(--rad);
  box-shadow:var(--shadow);
  z-index:2;
}

header .navbar-play{
  float:right;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
}

header .navbar-play .nav-item{
  border-right:2px dotted rgb(0 0 0 / 25%);
}

header .navbar-play .nav-item:last-child{
  border-right:none;
}

header .navbar-play .nav-item:hover{
  text-decoration:underline;
}

header .navbar-play .nav-item a{
  color:var(--button-text);
  text-decoration:none;
  font-size:90%;
}

header .logo-play{
  margin-top:.2rem;
  margin-bottom:-1rem;
}

#unity-container{
  background-image:url(./assets/pages/loading.png);
  background-position:center center;
  background-size:164px 357px;
  background-repeat:no-repeat;
}

html.play .subpage .content .column{
  padding:.3rem 1rem;
  border-radius:var(--rad);
}

.rules-box h2{
  color:var(--blog-link-color);
  font-size:smaller;
}

.rules-box ul{
  list-style:none;
  font-size:smaller;
  color:var(--color-dark);
  margin:0;
}

.rules-box li{
  padding-bottom:.5rem;
}

.rules-box li:before{
  display:inline-block;
  content:"";
  height:10px;
  width:10px;
  background-image:url(./assets/pages/bullet.png);
  background-repeat:no-repeat;
  margin-right:.5rem;
}

.rules-box .icon{
  float:left;
  content:"";
  background-image:url(./assets/pages/rules_icons.png);
  background-repeat:no-repeat;
  margin-right:1rem;
  height: 100%!important;;
}

.rules-box .icon.happy{
  height:40px;
  width:40px;
  background-position:left -8px;
}

.rules-box .icon.police{
  height:48px;
  width:40px;
  background-position:-102px top;
}

.rules-box .icon.badWords{
  height:43px;
  width:47px;
  background-position:-50px -4px;
}

.rules-box .icon.flag{
  height:43px;
  width:43px;
  background-position:-151px -4px;
}

.rules-box .rules-holder{
  display:flex;
  flex-wrap:wrap;
  margin-top:1rem;
}

.rules-box .rules-group{
  flex-basis:50%;
  padding:.5rem;
}

.rules-box{
  padding:1rem .5rem;
}

.rule-content .rule-horse{
  float:left;
  height:224px;
  background-image:url(./assets/pages/rule_horse.png);
  width:145px;
  margin-right:-1rem;
  margin-top:1rem;
}

.rule-header{
  width:100%;
}

@media (max-width: 767px){
  .rule-horse{
    display:none;
  }

  .rules-box .rules-group{
    flex-basis:20rem;
    border-bottom:1px dashed rgb(0 0 0 / 25%);
    padding-bottom:1rem;
  }

  .rules-box .rules-holder{
    justify-content:center;
  }

  .rules-box .rule-header{
    text-align:center;
  }
}

/* COUNTDOWN TO RELEASE */

.box.countdown{
  --box-header-bg: var(--box-header-main-bg);
  --box-header-text: var(--box-header-main-text);
  overflow:hidden;
}

.box.countdown .box-content{
  background-image:url(./assets/boxes/release_countdown.png);
  background-position:center bottom;
  background-size:cover;
  min-height:15rem;
  justify-content:space-around;
}

.box.countdown .clock{
  background-image:url(./assets/boxes/release_countdown_clock.svg);
  background-repeat:no-repeat;
  background-position:center;
  padding:1rem 3rem;
  font-size:1.8rem;
  margin:0 auto;
  filter:drop-shadow(0 0 10px #fff);
}

.box.countdown .clock > #countdown{
  display:inline-block;
  transform:translateX(-27%);
  font-family:"HirukoWeb", sans-serif;
  color:#603813;
  user-select:none;
}

.box.countdown .box-content .desc{
  text-align:center;
  font-size:1.5rem;
  font-weight:bold;
  color:white;
  text-shadow:0 3px 4px rgb(0 0 0 / 50%);
  text-shadow:0 0 10px var(--box-header-bg);
}

/* Blog comments section */

.post-form{
  font-size:0.9rem;
  padding-top:.5rem;
  border-top: 1px dashed rgb(0 0 0 / 50%);
  margin-top:1rem;
}

.post-form h2{
  margin-bottom:.5rem;
}

.post-form textarea{
  width: 100%;
}

.post-form form{
  display:grid;
  gap:.5rem;
}

.post-form form .side-by-side .input{
  width:50%;
}

.post-form .side-by-side{
  display:flex;
  gap:.5rem;
}

.post-form form input[type="submit"]{
  flex-basis:max(20%, 7rem);
}

.post-form form .input{
  border:none;
  border-radius:5px;
  padding:.5rem;
  border:2px solid var(--button-blue-outline);
  color:var(--color-dark);
  font-family:"Verdana", system-ui;
  font-size:12px;
}

.post-form form .post-btn{
  background:var(--button-blue);
  border:2px solid var(--button-blue-outline);
  color:var(--button-blue-text);
  border-radius:5px;
  font-family:"HirukoWeb", sans-serif;
  font-weight:200;
  font-size:16px;
  cursor:pointer;
}

.post-form form .post-btn:hover{
  background:var(--button-blue-hover);
  border-color:var(--button-blue-hover);
}

/* blog comments list */

.post-comments-list{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin-top:1rem;
}

.post-comments-list .comment{
  background-color:var(--blog-comment-bg);
  padding:.5rem;
  border-bottom: 1px dashed rgb(0 0 0 / 50%);
}

.post-comments-list .comment-meta{
  color:var(--color-dark);
  font-size:smaller;
  margin-bottom:.5rem;
}

.post-comments-list .comment-meta .comment-poster{
  font-weight:600;
}

.post-comments-list .comment-body{
  font-size:0.9rem;
}

.post-comments-list .comment-reply{
  background-color:var(--blog-comment-bg);
  padding:.5rem;
  border-left: 1px dashed rgb(0 0 0 / 50%);
  margin-top:.5rem;
}

.posts .alert{
  --theme: #555555;
  padding:.5rem 1rem;
  border:2px solid var(--theme);
  color:var(--theme);
  border-radius:5px;
  width:max-content;
  margin:auto;
  margin-bottom:.5rem;
  font-weight:bold;
  font-size:14.4px;
}

.posts .alert.error{
  --theme:hsl(0, 100%, 40%);
}

.posts .alert.success{
  --theme:hsl(100, 100%, 30%);
}

.subpage .normal{
  font-size:11px;
  color:var(--color-dark);
  line-height:1rem;
}

.subpage .rules-box-single{
  background-color:#f8f8e4;
  box-shadow:2px 2px 0 #dadada;
  border-radius:calc(var(--rad) / 2);
  position:relative;
  padding:1rem;
  margin:1rem 0;
}

.subpage .rules-box-single:before{
  content:"";
  position:absolute;
  width:17px;
  height:19px;
  background-image:url(./assets/pages/paper_pin2.png);
  background-repeat:no-repeat;
  left:-.2rem;
  top:-.2rem;
}

.subpage .rules-box-single:after{
  content:"";
  position:absolute;
  width:17px;
  height:19px;
  background-image:url(./assets/pages/paper_pin2.png);
  background-repeat:no-repeat;
  top:-.2rem;
  right:-.2rem;
  transform:scaleX(-1);
}

.subpage .rules-box-single h2{
  font-size:90%;
  text-align:center;
  color:var(--blog-link-color);
}

.subpage .rules-box-single ol{
  font-size:12px;
  color:var(--color-dark);
}

.subpage .rules-box-single ol > li{
  margin-bottom:1rem;
}

.subpage .navigation{
  display:flex;
  justify-content:space-between;
  margin-top:2rem;
}

.subpage .navigation .arrow{
  min-width:150px;
  font-size:12px;
  color:white;
  background-color:#77befd;
  border-radius:100px;
  font-weight:bold;
  text-decoration:none;
  padding:.5rem;
  position:relative;
}

.subpage .navigation .arrow:hover{
  text-decoration:underline;
}

.subpage .navigation .arrow.up{
  text-align:right;
  padding-right:2.2rem;
}

.subpage .navigation .arrow.back{
  padding-left:2.2rem;
}

.subpage .navigation .arrow.back > span:before{
  content:"";
  display:inline-block;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  aspect-ratio:1/1;
  background-image:url(./assets/pages/arrow_left.svg);
  background-size:contain;
  margin:1px;
}

.subpage .navigation .arrow.up > span:after{
  content:"";
  display:inline-block;
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  aspect-ratio:1/1;
  background-image:url(./assets/pages/arrow_up.svg);
  background-size:contain;
  margin:1px;
}

.kidsVips > ul{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

.vip{
  font-size:13px;
}

.vip h2{
  color:var(--blog-link-color);
  margin-bottom:.5rem;
}

.vip p{
  color:var(--color-dark);
  margin-bottom:.5rem;
}

/* confirmation.html */

.login-character{
  background-image:url(./assets/login/graphics_character.png);
  width:205px;
  height:363px;
  background-position:left top;
}

.login-character.email{
  background-position-x:-205px;
  width:198px;
}

.login-character.key{
  background-position-x:-404px;
  width:194px;
}

.login-character.sad{
  background-position-x:-598px;
  width:191px;
}

.login-holder{
  display:flex;
  margin-top:5rem;
  justify-content:space-evenly;
}

.login-box{
  background-image:url(./assets/login/graphics_woodpanel_single.webp); /* fallback */
  background-image:image-set(
    url(./assets/login/graphics_woodpanel_single.webp) 1x,
    url(./assets/login/graphics_woodpanel_single-2x.webp) 2x
  );
  width:488px!important;
  min-width:488px!important;
  height:381px;
  background-size:contain;
  background-repeat:no-repeat;
  padding:60px 55px 60px 55px;
}

@media (max-width: 767px) {
  .character-holder{
    display:none;
  }
}

.login-box h1{
  font-size:120%;
  font-family:"HirukoWeb", Hiruko, sans-serif;
  color:var(--color-blue);
  font-weight:normal;
  margin-bottom:.5rem;
}

.login-box p{
  color:var(--color-dark);
  font-size:12px;
  margin-bottom:.5rem;
}

.login-box form label{
  display:block;
  font-size:11px;
  color:var(--color-dark);
  margin-bottom:.2rem;
}

.login-box form .options{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  font-size:11px;
  color:var(--color-dark);
  align-items:baseline;
}

.login-box form .input{
  width:100%;
  border:none;
  border-radius:4px;
  box-shadow:var(--shadow);
  font-family:"HirukoWeb", Hiruko, sans-serif;
  font-size:1.2rem;
  padding:.5rem;
  margin-bottom:.5rem;
}

.login-box form a{
  color:var(--color-blue);
}

.login-box form input[type="submit"]{
  border:none;
  background:var(--button-green);
  color:var(--button-green-text);
  border:2px solid var(--button-green-outline);
  cursor:pointer;
  font-family:"HirukoWeb", Hiruko, sans-serif;
  font-size:1.2rem;
  padding:.5rem 4rem;
  border-radius:8px;
  text-shadow:0 1px 0 rgb(0 0 0 / 30%);
}

.login-box form input[type="submit"]:hover{
  background:var(--button-green-hover);
}

.login-box .login-button-holder{
  display:flex;
  justify-content:center;
  margin-top:.5rem;
}

.subplay{
  display:flex;
  flex-direction:column;
  margin-top:3rem;
  position:relative;
  width: 946px;
  height: 788px;
}

font{
  text-align:unset!important;
}