/* COLORS
 *
 * bg -     #333333
 * layer0 - #4a4a4a
 * layer1 - #5e5e5e
 * black -  #111111
 * grey -   #7d7d7d
 * white -  #f0f0f0

 * shadow - box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 30px;
 */

html, body {
    margin: 0;
    padding: 0;

    background-color: #333333;
    color: #f0f0f0;

    height: 100%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* website fonts */
@font-face {
    font-family: calibri_alt;
    src: url(assets/fonts/calibri.ttf);
}
@font-face {
    font-family: robotomono_alt;
    src: url(assets/fonts/robotomono.ttf);
}
@font-face {
    font-family: minecraft;
    src:  url(assets/fonts/minecraft.otf);
}

* {
    font-family: minecraft;
}

/* ------------------------ */
.verticalCenter {
    display: flex;
    margin: auto;
    align-items: center;
    justify-content: center;
}

.topBar {
    width: 100%;
    height: 75px;

    background-color: #111111;
    border-bottom: 1px solid #5e5e5e;
}

.topSub { /* shut the fuck up */
    padding: 8px 0 0 32px;
}

.topTitle {
    font-size: 30px;
    font-family: robotomono_alt;
}

.topDesc {
    color: #5e5e5e;
    font-size: 16px;
    font-family: robotomono_alt;
}

.luteText {
    font-family: comic sans ms;
    size: 12px;

    animation: rainbow 3s infinite; 
    -webkit-animation: rainbow 3s infinite;   
    -ms-animation: rainbow 3s infinite;
}

/* Chrome, Safari, Opera */
@-webkit-keyframes rainbow {
    0%   {color: red;}
    16%  {color: orange;}    
    33%  {color: yellow;}   
    50%  {color: lime;}
    66%  {color: green;}
    83%  {color: blue;}
    100% {color: red;}
}

/* ------------------------ */
.outerBox {
    position: relative;
    margin: 0 auto;
    padding: 8px;

    width: 95%;
    height: 512px;

    text-align: center;
    z-index: 1;
}

.mainBox {
    padding: 12px;

    height: 100%;

    background-color: #4a4a4a;
    border-radius: 10px;
}

/* horizontal lines */
.line {
    background: #f0f0f0;
    width: 80%;
    height: 1px;

    border: 0;
}

/* layers */
.smallLayer,
.mediumLayer,
.bigLayer
{
    display: block;
    padding: 8px;

    background-color: #5e5e5e;
    border-radius: 8px;

    /* i fucking hate css with all my fucking life holy shit */
    width: auto;
    right: 12px;
    left: 12px;

    box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 30px;

    overflow: hidden;
}

.smallLayer {
    height: 25%;
    max-height: 25%;
}
.mediumLayer {
    height: 65%;
    max-height: 65%;
}
.bigLayer {
    height: 95%;
    max-height: 95%;
}

/* vertically centered image solution from SO lmaooo */
.centerImgFrame {
    height: 100%;      /* Equals maximum image height */
    width: 100%;
    white-space: nowrap; /* This is required unless you put the helper span closely near the img */

    text-align: center;
    margin: 1em 0;
}

.centerImgHelper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.centerImg {
    vertical-align: middle;
}

/* buttons */
.button {
    position: relative;
    display: inline-block;

    font-size: 14px;
    background-color: #333333;

    user-select: none;

    border: 1px solid #111111;
    border-radius: 8px 8px 8px 8px;
    border-bottom-width: 6px;

    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 15px;

    top: 0px;

    transition: background-color 0.2s;
}
.button:hover {
    transition: background-color 0.3s ease-out;
    background-color: #5e5e5e;
}
.button:active {
    transition: border-bottom-width, top 0.05s;
    border-bottom-width: 1px;

    top: 6px;
}

/* ------------------------ / Upload Div */
.uploadImg {
    position: relative;

    height: 180px;
    width: 180px;

    top: 0;
    transition: 0.2s;
}

.uploadImg:hover {
    top: -8px;
}

/* ------------------------ / Export Div */
.exportImg {
    height: 70%;
    border-radius: 2px;

    box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 30px;
}

/* ------------------------ / Editor Div */
.editorTable {
    width: 100%;
    height: 100%;
}
    
/* sides */
.sideWrap {
    padding: 0 12px 0 12px;
    height: 100%;
}

.leftSide {
    width: 65%;
}
.rightSide {
    width: 35%;
}

/* flag buttons */
.flagButtonWrapper {
    display: inline-block;
    position: relative;

    padding: 4px;
}

.flagButtonDiv {
    text-align: center;
    display: inline-block;

    width: 100%;
}

.flagButton {
    width: 100px;
    height: 75px;
    line-height: 32px; /* 75/2 */
}

/* other buttons */
.otherFlagButton {
    width: 100px;
    height: 50px;
    line-height: 25px; /* 50/2 */
}

.slider {
    -webkit-appearance: none;
    appearance: none;

    width: 100%;
    height: 32px;

    background: #333333;

    border: 1px solid #111111;
    border-radius: 12px;

    transition: 0.1s ease-out;
}
.slider:active, .slider:hover {
    background: #4a4a4a;
}

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;

    width: 26px;
    height: 26px;

    background: #7d7d7d;

    border: 1px solid #f0f0f0;
    border-radius: 8px;
}
.slider:active::-webkit-slider-thumb {
    background: #f0f0f0;
}

.toggle {
    padding: 0;
    position: relative;
    display: inline-block;
    width: 56px;
    height: 32px;

    background-color: #333333;

    border: 1px solid #111111;
    border-radius: 32px;

    transition: 0.1s ease-out;
}
.toggleHandle {
    padding: 0;
    margin: auto 0;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    width: 24px;
    height: 24px;

    background-color: #7d7d7d;
    border: 1px solid #f0f0f0;
    border-radius: 100%;

    /* touche pas */
    pointer-events: none;
    touch-action: none;

    transition: 0.1s linear;
}
    
.exportDivWrapper {
    margin: 0;

    position: relative;
    padding-bottom: 36px;

    width: 100%;
    height: inherit;

    text-align: center;
}
.exportDiv {
    display: block;
    padding-bottom: 10px;

    position: absolute;
    bottom: 0;

    width: 100%;
}

/* export buttons */
.newImgButton, .greenButton {
    color: #f0f0f0;
    font-size: 18px;

    width: 80%;
    height: 50px;
}

.greenButton {
    color: #333333;

    background-color: #1cc959;
    border-color: #111111;
}
.greenButton:hover {
    background-color: #00ff6f;
}

/* ------------------------ */
.pfpPreview {
    width: 256px;
    height: 256px;

    border: 2px solid #f0f0f0;
    border-radius: 100%;

    touch-action: none;

    box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 30px;
}

.pfpModePreview {
    border: 1px solid #f0f0f0;
    border-radius: 100%;

    touch-action: none;
}
