
@font-face{ font-family: 'Bonbon'; src: url('fonts/Bonbon-Regular.ttf') format('ttf'); }
@font-face{ font-family: 'Montserrat'; src: url('fonts/Montserrat.ttf') format('ttf'); }
@font-face{ font-family: 'MountainsofChristmas'; src: url('fonts/MountainsofChristmas-webfont.woff') format('woff'); }
@font-face{ font-family: 'Raleway'; src: url('fonts/Raleway-VariableFont_wght.ttf') format('ttf'); }




@font-face{ 
font-family: 'Aladin', cursive;
font-family: 'Amatic SC', cursive;
font-family: 'Bonbon', cursive;
font-family: 'Bungee Shade', cursive;
font-family: 'Cutive Mono', monospace;
font-family: 'Elsie Swash Caps', cursive;
font-family: 'Festive', cursive;
font-family: 'Fredericka the Great', cursive;
font-family: 'Henny Penny', cursive;
font-family: 'Londrina Outline', cursive;
font-family: 'Lovers Quarrel', cursive;
font-family: 'Major Mono Display', monospace;
font-family: 'Medula One', cursive;
font-family: 'Neucha', cursive;
font-family: 'Oswald', sans-serif;
font-family: 'Poppins', sans-serif;
font-family: 'Raleway', sans-serif;
font-family: 'Slackey', cursive;
font-family: 'Syncopate', sans-serif;
font-family: 'Trochut', cursive;
font-family: 'Wire One', sans-serif;

}


:root {
  --white:  #ebe8e4; 
  --cream:  #e4dfdb; /* rgba(235,232,228,1) */
  --creig:  #dbd5d0;
  --beige:  #d8d0cb;
  --cafe:   #af8e7a; 
  --brown:  #6F5353; 
  --brred:  rgba(160,24,68,1);
  --blood:  #821032;  
  --brood:  #640032;
  --blues:  #0F7A86;   
  --hover:  #1E6168;

  --grock:  #baa;
  --brack:  #877;
  --brock:  #544;
  --black:  #160808;

  --vepur:  #113;

  --bpink: #ff0066;    
  --turko: #50b0a0;  
  --yllow: #f0b020;
  --orang: #e06010;
  --green: #20605B;   
  --bluer: #162a60; 
  --kakki: #556033;  
  
}

* {
    font-size: 1em; 
    margin: 0 auto;
    padding: 0;
    background-color: transparent; 
    color: inherit;
    border-color: currentColor;
    box-sizing: border-box;
}

.hidden { display: none !important;  }
.keephiding { display: none !important;  }


html { scroll-behavior: smooth; }

svg.inline, h1 svg, h2 svg, h3 svg, h4 svg, p svg, a svg, label svg, button svg { height: 1em; position: relative; top: 0.1em; padding: 0.1em; margin: 0 0.15em; }



input[type=checkbox].expand  + label, input[type=checkbox].expand.hidden + label + div
                                                         { display: none; }
input[type=checkbox].expand:checked + label              { display: block; }
input[type=checkbox].expand.hidden  + label              { display: block; }
input[type=checkbox].expand.hidden:checked + label + div { display: block; }
input[type=checkbox].expand.undef + label                { font-weight: 100; font-size: 0.8em; margin: 0; }

input, select, textarea {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  border-radius: 0; outline: none; border: none; float: none; resize: none; outline: none;
  margin-top: 0.5em; 
}   

input[type=text], input[type=number], input[type=password], input[type=file], textarea, select 
        { width: 100%; border: none; margin-bottom: 1em; padding: 0.5em; background-color: var(--beige); color: var(--brock); }    
input[type=text]:focus, input[type=number]:focus, input[type=password]:focus, textarea:focus, select:focus
        { font-weight: 700; color: var(--brown); }     
input[type=submit], input[type=button]
        { display: block; padding: 0.65em 1.4em; margin: 0.5em 0 1em; background-color: var(--cafe); color: var(--cream); }

input[type=button].inline, input[type=submit].inline  
        { border: none; background-color:transparent; color: inherit; font-weight: 500;
          display: inline; margin: 0; padding: 0 0.5em; text-align: left; }
input[type=button].inline:hover, input[type=submit].inline:hover 
        { color: var(--hover); background-color:transparent; }


/* upload file */
input[type=file]::-webkit-file-upload-button {  display: none; -moz-appearance: none;}

input[type=file]          { -webkit-appearance: none; display: inline-block; background-repeat: no-repeat; background-position: 98%; background-size: 1.7em; 
                            background-image: url(../_img/btn-upload.svg); background-color: var(--white); }

input[type=file]:hover    { opacity: 0.7; }
input[type=file]:active   { background-color: var(--beige); }

.upload label svg         { display: inline-block; }
.upload div label         { display: inline-block; width: auto; }

.upload div input[type=submit] { margin: 0 0 0 auto; padding: 0; background: none; position: static; font-size: 1em; width: auto; }

.rev    { transform: rotate(180deg); }


audio { -webkit-appearance: none; border-radius: 8em; color: white; width: 20em; height: 3em; box-shadow: 1px 1px 7px #111; }
audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure { background-color: transparent; }

audio::-webkit-media-controls-panel                   { background-color: rgba(0, 0, 0, 0); transition: opacity 0.3s; }


audio::-webkit-media-controls-mute-button             { background-color: white; border-radius: 2em; margin-left: 0; }
audio::-webkit-media-controls-play-button             { background-color: white; border-radius: 2em; margin-right: 1em;}
audio::-webkit-media-controls-current-time-display    { color: white; }
audio::-webkit-media-controls-time-remaining-display  { color: white; }
audio::-webkit-media-controls-timeline                { background-color: white; border-radius: 2em; padding: 0.1em; margin:auto 1em; }
audio::-webkit-media-controls-volume-slider           { background-color: white; border-radius: 2em; padding: 0.1em; margin: auto; }

audio.mini                                            { width: 7em; margin: 0; box-shadow: none; height: 2.3em; overflow: hidden; }
.mini::-webkit-media-controls                         { margin: 0; }
.mini::-webkit-media-controls-enclosure               { margin: 0; background-color: var(--cream); }
.mini::-webkit-media-controls-play-button             { margin: auto 0; }
.mini::-webkit-media-controls-mute-button             { display: none; }
.mini::-webkit-media-controls-current-time-display    { display: none; }
.mini::-webkit-media-controls-time-remaining-display  { display: none; }
.mini::-webkit-media-controls-timeline                { display: none; }
.mini::-webkit-media-controls-options-container       { display: none; }
.mini::-webkit-media-controls-menu                    { display: none; }

.mini::-webkit-media-slider-container                 { display: none; }








/* /////////////////////////////////////////////////////// */
/*                                                         */
/* /////////// --------   FEATURES   --------  /////////// */
/*                                                         */
/* /////////////////////////////////////////////////////// */



.login          { position: fixed; right: 1.3rem; top: 1.3rem; text-align: right; z-index: 10; max-width: 85vw; min-width: unset; width: auto; opacity: 0.3; margin: 0; }
.login a        { color: currentColor; }
.login span     { position: relative; top: -0.35em; padding-right: 1em; }
.login *:hover  { opacity: 1; color: currentColor; }
.login svg      { height: 1.5rem; width: 1.5rem; padding: 0; }


.popup { display: block; z-index: 100; position: fixed; margin: auto; top: 10vh; right: 0; 
  background-color: var(--blood); color: var(--beige); box-shadow: 8px 8px 36px var(--black);
  width: 20rem; max-width: calc(100% - 2em); height: fit-content; min-height: unset; padding: 1.5em 3em 1.5em 1.5em; border-radius: 0.5em 0 0 0.5em;
}
.popup h3         { margin: 0.85rem auto; color: var(--beige); }
.popup form       { min-width: 12rem; width: 100%; }
.popup label      { margin-top: 0; }
.popup input[type=text], .popup input[type=password] { color: var(--brown); }
.popup input[type=checkbox] + label, .popup input[type=radio] + label 
                  { width: calc(100% - 2.1em); }
.popup input[type=submit]       { display: block; font-size: 0.9rem; padding: 0.65em 1.4em; margin: 0.5em 0 1em; background-color: var(--cafe); color: var(--cream); }
.popup input[type=button]       { display: inline; font-size: 0.9rem; padding: 0; }
.popup input[type=submit]:hover { background-color: var(--brown); color: var(--beige); }
.popup input[type=button]:hover { color: var(--cafe); }
.popup svg.close  { display: block; margin: 0 0 0 auto; color: var(--blues); border-radius: 2em; } 
.popup p.oops     { color: black; font-weight: 600; padding: 0; margin: 0 auto 1em; font-size: 0.9em; }
.popup::placeholder { color: var(--brown); }


.sidefunc { position: fixed; width: 2em; height: max-content; margin: auto; top: 0; bottom: 0; left: 0; z-index: 1; padding: 0; }
.sidefunc input[type=radio]+label, .sidefunc input[type=checkbox]+label, .sidefunc svg { 
  background-color: var(--blues); color: var(--cream); opacity: 0.6;
  width: 2em; padding: 0; height: 2em; min-width: unset;
  display: block; margin: 0.1em auto; }
.sidefunc svg, .sidefunc svg[onclick] { padding: 0.4em; margin: 0; left: 0; }
.sidefunc label svg { top: 0;  }

.sidefunc input[type=radio]:checked +label, .sidefunc input[type=checkbox]:checked +label 
  { opacity: 1; }

.sidefunc input[type=radio], .sidefunc input[type=checkbox] { display: none; }

.sidefunc input[type=checkbox] + label { text-align: center; font-weight: 900; background-color: var(--cafe); padding: 0.3em; margin: 0.2em 0;}

.sidefunc .spacer { min-height: 1em; }



.samps            { display: grid; grid-template-columns: repeat(auto-fill, 3em); grid-gap: 0.3em; margin: 0.5em 0; }
.samps input[type='radio'] { display: none; }
.samps label      { height: 3em; text-align: center; padding: 0.8em 0; margin: 0; font-weight: 100; }
.samps input:checked + label { font-weight: 700; border: 3px solid white; padding: 0.5em 0; }
                 
.dials             { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 0.5em; margin: 0.5em 0; padding: 0.5em 0; }
.dials input[type='radio'] { display: none; }
.dials div         { padding: 0.3em; border: 0.3px solid white; color: var(--brack); }
.dials ul          { font-size: 0.4em; }
.dials input:checked + ul { color: white; }
.dials h4          { font-size:  0.8rem; color: white; padding: 0; }

.bubbles           { display: grid; grid-template-columns: repeat(auto-fill, 5.1em); grid-gap: 0.5em; margin: 0.5em 0; }
.bubbles div       { height: 6em; }
.bubbles li        { font-size: 0.4em; color: var(--brack); }
.bubbles input:checked + li { color: white; }

.samps ul, .dials ul, .bubbles ul { grid-gap: 0.3em 0.1em; margin: 0; }

@media only screen and (max-width: 609px) {
  .sidefunc       { width: max-content; top: unset; right: 0; }
  .sidefunc input[type=radio] + label { display: inline-block; }
  .samps            { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .samps label      { height: 2.2em; padding: 0.4em 0; }
  .samps input:checked + label { padding: 0.15em 0; }
  .dials            {  }
  .bubbles          { grid-template-columns: 1fr 1fr; }

}


.tabLi                  { border-top: 0.0625em solid currentColor; width: 100%; padding-top: 0.25rem; }
.tabLi li               { width: 100%; height: auto; display: grid; grid-gap: 0.7em; grid-template-columns: auto 1fr auto; padding: 0.4em 0; margin: 0; border-bottom: 0.0625em solid; }
.tabLi li:last-child    {  }
.tabLi a                { display: block; font-size: 1.7em; font-weight: 300; padding-bottom: 0.2em; line-height: 1em; }
.tabLi li span          { width: 100%; margin: auto; }
.tabLi li p             { font-size: 0.95em; text-align: left; }
.tabLi li > *:last-child { text-align: right; }
.tabLi li svg           { width: 1.5em; height: 1.5em; margin: 0.7em 0;  }
.tabLi form             { width: unset; min-width: unset; max-width: unset; }
.tabLi label + h3       { padding-top: 0; margin-top: 0; }


.thumbnails           { display: grid; grid-template-columns: repeat(auto-fill, 8em); grid-gap: 0.5em; width: 100%; }
.thumbnails li        { margin: 0; padding: 0;  }
.thumbnails div       { height: 4.5em; }
.thumbnails img       { height: 100%; object-fit: contain; margin: auto; width: auto; }
.thumbnails [src*=svg]{ height: 100%; width: 40%; margin: auto;}
.thumbnails p         { text-align: center; font-size: 0.6em;}


/* /////////////////////////////////////////////////////// */
/*                                                         */
/* /////////// ------   CROSS OVER   --------  /////////// */
/*                                                         */
/* /////////////////////////////////////////////////////// */

.grim      { background-color: var(--brock); color: var(--creig);}
.tragic    { background-color: var(--brack); color: var(--black);}
.uncertain { background-color: var(--black); color: var(--brock);}
.epic      { background-color: var(--hover); color: var(--beige);}
.baffling  { background-color: var(--cream); color: var(--cafe);}
.romantic  { background-color: var(--brood); color: var(--bpink);}
.nostalgic { background-color: var(--bluer); color: var(--beige);}
.funny     { background-color: var(--yllow); color: var(--brock);}
.confusing { background-color: var(--brred); color: var(--yllow);}
.scary     { background-color: var(--black); color: var(--blood);}
.resolute  { background-color: var(--white); color: var(--black);} 
.assertive { background-color: var(--blood); color: var(--white);} 
.military  { background-color: var(--kakki); color: var(--cafe);} 
.warning   { background-color: var(--white); color: var(--brred);} 
.realist   { background-color: var(--black); color: var(--cafe);}
.energetic { background-color: var(--orang); color: var(--yllow);}
.mellow    { background-color: var(--cafe);  color: var(--brock);} 

