/*
    Black BG for konvas
*/
#konvas {
    background: black;
}

/*
    Button individuals
*/

#chooseBackgroundColor {
    width: 6em;
    height: 6em;
}

#chooseBackgroundPatternButton {
    background: transparent url("resources/icons/bg-pattern.svg") 0 0 / 100% 100% no-repeat;
    border-radius: 50%;
    width: 6em;
    height: 6em;
}

#uploadBackgroundImageButton {
    background: transparent url("resources/icons/textarea-add.svg") center / contain no-repeat !important;
    width: 6em;
    height: 6em;
}

/*
    Special "Smileys" sitckerpack policy
*/
#smileys img#sticker {
    width: 20%;
    border-radius: unset;
}

/*
    Color pickr fix
*/
.pcr-last-color {
    outline: 1px solid black !important;
}

.pcr-current-color {
    outline: 1px solid var(--gegee-blue) !important;
}

/*
    Typography
*/

a {
    text-decoration: none;
}

span,
p,
b,
i {
    color: black;
}

a.info,
i.info,
b.info,
span.info,
p.info {
    color: var(--gegee-blue);
}

a.warning,
i.warning,
b.warning,
span.warning,
p.warning {
    color: var(--gegee-orange);
}

a.danger,
i.danger,
b.danger,
span.danger,
p.danger {
    color: var(--gegee-red);
}

a.allowed,
i.allowed,
b.allowed,
span.allowed,
p.allowed {
    color: var(--gegee-green);
}

a.inverted,
i.inverted,
b.inverted,
span.inverted,
p.inverted {
    color: white;
}

span.center,
b.center,
i.center,
p.center {
    text-align: center;
}

div.fancy.bg,
button.fancy.bg {
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
    -webkit-animation: cascadingBackground 4s infinite;
    animation: cascadingBackground 4s infinite;
}

div.info,
button.info {
    background: var(--gegee-blue);
    color: white;
}

div.warning,
button.warning {
    background: var(--gegee-orange);
    color: white;
}

div.danger,
button.danger {
    background: var(--gegee-red);
    color: white;
}

div.allowed,
button.allowed {
    background: var(--gegee-green);
    color: white;
}

div.inverted,
button.inverted {
    background: black;
    color: white;
}

div.special,
button.special {
    background: var(--gegee-magenta);
    color: white;
}

div.fancy.bg,
button.fancy.bg {
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
    -webkit-animation: cascadingBackground 4s infinite;
    animation: cascadingBackground 4s infinite;
}

div.fancy.info,
button.fancy.info {
    background-image: -o-linear-gradient(325deg, var(--gegee-blue), var(--gegee-cyan), var(--gegee-blue));
    background-image: linear-gradient(125deg, var(--gegee-blue), var(--gegee-cyan), var(--gegee-blue));
}

div.fancy.warning,
button.fancy.warning {
    background-image: -o-linear-gradient(325deg, var(--gegee-orange), var(--gegee-redish-orange), var(--gegee-orange));
    background-image: linear-gradient(125deg, var(--gegee-orange), var(--gegee-redish-orange), var(--gegee-orange));
}

div.fancy.danger,
button.fancy.danger {
    background-image: -o-linear-gradient(325deg, var(--gegee-light-red), var(--gegee-red), var(--gegee-light-red));
    background-image: linear-gradient(125deg, var(--gegee-light-red), var(--gegee-red), var(--gegee-light-red));
}

div.fancy.allowed,
button.fancy.allowed {
    background-image: -o-linear-gradient(325deg, var(--gegee-green), var(--gegee-light-green), var(--gegee-green));
    background-image: linear-gradient(125deg, var(--gegee-green), var(--gegee-light-green), var(--gegee-green));
}

div.fancy.special,
button.fancy.special {
    background-image: -o-linear-gradient(325deg, var(--gegee-magenta), var(--gegee-purple), var(--gegee-magenta));
    background-image: linear-gradient(325deg, var(--gegee-magenta), var(--gegee-purple), var(--gegee-magenta));
}

div.fancy,
button.fancy {
    background-position-x: 0%;
    background-size: 400%;
    color: white;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

div.fancy:hover,
button.fancy:hover,
div.fancy:focus,
button.fancy:focus {
    background-position-x: 100%;
}

/*
    All animations
*/

@-webkit-keyframes drop {
    0% {
        top: -150%;
    }

    90% {
        top: 60%;
    }

    95% {
        top: 60%;
    }

    100% {
        top: 50%;
    }
}

@keyframes drop {
    0% {
        top: -150%;
    }

    90% {
        top: 60%;
    }

    95% {
        top: 60%;
    }

    100% {
        top: 50%;
    }
}

@keyframes drop-reverse {
    0% {
        top: 50%;
    }

    5% {
        top: 60%;
    }

    10% {
        top: 60%;
    }

    100% {
        top: -150%;
    }
}

@-webkit-keyframes cascadingBackground {
    0% {
        background-position-x: 0%
    }

    50% {
        background-position-x: 100%
    }

    100% {
        background-position-x: 0%
    }
}

@keyframes cascadingBackground {
    0% {
        background-position-x: 0%
    }

    50% {
        background-position-x: 100%
    }

    100% {
        background-position-x: 0%
    }
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes highlightButton {
    0% {
        color: red;
    }

    20% {
        color: white;
    }

    40% {
        color: red;
    }

    60% {
        color: white;
    }

    80% {
        color: red;
    }

    100% {
        color: white;
    }
}

@keyframes highlightButton {
    0% {
        color: red;
    }

    20% {
        color: white;
    }

    40% {
        color: red;
    }

    60% {
        color: white;
    }

    80% {
        color: red;
    }

    100% {
        color: white;
    }
}

/* Code Below Is Adopted From W3C */

/* The slider itself */

.slider {
    -webkit-appearance: none;
    /* Override default CSS styles */
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    /* Full-width */
    height: 2em;
    /* Specified height */
    border-radius: 2em;
    background: #d3d3d3;
    /* Grey background */
    outline: none;
    /* Remove outline */
    -webkit-transition: .2s;
    /* 0.2 seconds transition on hover */
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
}

/* Mouse-over effects */

.slider:hover {
    outline: 1px solid var(--gegee-blue);
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    /* Override default look */
    appearance: none;
    width: 2em;
    /* Set a specific slider handle width */
    height: 2em;
    /* Slider handle height */
    border-radius: 50%;
    background: var(--gegee-blue);
    /* Green background */
    cursor: pointer;
    /* Cursor on hover */
}

.slider::-moz-range-thumb {
    width: 2em;
    /* Set a specific slider handle width */
    height: 2em;
    /* Slider handle height */
    background: var(--gegee-blue);
    /* Green background */
    cursor: pointer;
    /* Cursor on hover */
    border-radius: 50%;
}