.no_select_text {
    -webkit-user-select: none;
    /* Safari 3.1+ */
    -moz-user-select: none;
    /* Firefox 2+ */
    -ms-user-select: none;
    /* IE 10+ */
    user-select: none;
    /* Standard syntax */
}

/* body {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0px;
    bottom: 0px;
    overflow: hidden;
} */

#tr {
    position: absolute;
    top: 45px;
    right: 45px;
    z-index: 200;
    cursor: pointer;
}

#tl {
    position: fixed;
    top: 35px;
    left: 40px;
    z-index: 200;
}

#tc {
    position: absolute;
    left: 50%;
    width: 300px;
    margin-left: -150px;
    top: 40px;
    z-index: 145;
    padding: 10px;
    border-radius: 15px;
}

#br {
    position: fixed;
    bottom: 45px;
    right: 40px;
    z-index: 200;
}

#bl {
    position: fixed;
    bottom: 40px;
    left: 30px;
    z-index: 200;
}

#cc {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: 0px;
    margin-top: 0px;
    z-index: 200;
}

#bc {
    position: absolute;
    bottom: 50px;
    margin: auto;
    width: 300px;
    left: 50%;
    margin-left: -150px;
    z-index: 200;
}

#ml {
    position: absolute;
    top: 50%;
    left: 35px;
    margin-top: -40px;
    z-index: 200;
}

#mr {
    position: absolute;
    top: 50%;
    right: 35px;
    margin-top: -40px;
    width: 200px;
    z-index: 200;
}

#mr_game {
    position: absolute;
    bottom: 130px;
    right: 0px;
    width: 182px;
    z-index: 140;
}

/* background animate */
#bg_bl {
    position: fixed;
    bottom: -50px;
    left: 0px;
    z-index: 100;
}

#bg_tr {
    position: fixed;
    top: -50px;
    right: 0px;
    z-index: 100;
}

/* fine - background animate */

/* armamento */
#new_turn {
    float: right;
    margin-right: 5px;
    background-color: #3f95f8;
    border-radius: 15px;
    padding-left: 10px;
    padding-right: 10px;
    color: #fff;
    margin-top: 4px;
    font-size: 13px;
}

#timer_move {
    float: right;
    margin-right: 5px;
    background-color: #3f95f8;
    border-radius: 15px;
    padding-left: 10px;
    padding-right: 10px;
    color: #fff;
    margin-top: 4px;
    font-size: 13px;
}

/* fine -- armamento */

/* Project */
.testo_project {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 35px;
    background-color: rgb(248, 63, 106, 0.95);
    color: #fff;
    opacity: 0;
}

.testo_project_b {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 35px;
    background-color: rgb(248, 63, 106, 0.95);
    color: #fff;
    opacity: 0;
}

.testo_project_a {
    position: absolute;
    top: 0px;
    left: 0px;
    color: #fff;
    opacity: 0;
}

#project {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    /* background-color: #ff0000; */
    z-index: 150;
}

#project_contenitor {
    -webkit-box-align: center;
    -ms-flex-align: center;
    /* align-items: center; */
    position: relative;
    z-index: 150;
}

#project_content {
    padding: 0rem 36rem 0rem 3rem;
    /* padding: 0 50vh 0 18rem; */
    -webkit-box-align: center;
    -ms-flex-align: center;
    /* align-items: center; */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100vh;
    z-index: 150;
    position: relative;
    /* background-color: #ff0000; */
}

.project_block {
    /* max-width: 85vw;
    min-width: 80vw; */
    margin: 15px;
    max-width: 450px;
    position: relative;
}

.center_top {
    position: absolute;
    top: 50%;
    max-width: 300px;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media (min-width: 768px) {
    #project_content {
        padding: 0 50vh 0 18rem;
    }
}

@media (min-width: 1024px) {
    #project_content {
        padding: 0 50vh 0 18rem;
        padding-right: 36rem;
    }
}

/* fine - project */

/* cookie */
.collapsible-header {
    border-bottom: none !important;
}

.collapsible-body {
    display: none;
    border-bottom: 1px solid #244f68 !important;
}

/* fine cookie */

/* color bottoni */
.btn {
    background-color: #3f3f3f !important;
}

.btn:hover {
    background-color: #df0921 !important;
}

/* fine - color bottoni */

/* checkbox size */
input[type=checkbox] {
    /* Double-sized Checkboxes */
    -ms-transform: scale(2);
    /* IE */
    -moz-transform: scale(2);
    /* FF */
    -webkit-transform: scale(2);
    /* Safari and Chrome */
    -o-transform: scale(2);
    /* Opera */
    transform: scale(2);
    padding: 10px;
}

/* fine - checkbox size */

/* BACKGROUN OVERLEY COLOR */
.modal-overlay {
    background: #ffffff !important;
}

.modal-content {
    background-color: #fff;
    border-radius: 15px;
}

/* BUTTON MORE INFO */
/* --------------------------------------- */
.bg_bt_more_info {
    background-color: rgb(255, 255, 255, 1);
    border-radius: 5rem;
    height: 4rem;
    position: relative;
    top: 10px;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    width: 5rem;
    z-index: 1;
    opacity: 1;
    cursor: pointer;
    float: left;
}

.bg_bt_more_info:hover {
    background-color: rgb(255, 255, 255, 1);
    transform: scale(1.1);
}

.bg_bt_more_info_text {
    color: #3f3f3f;
    fill: none;
    height: 1.6rem;
    left: calc(50% - 3.2rem);
    position: absolute;
    top: calc(50% - 1rem);
    z-index: 3;
    transition: opacity 0.5s;
    transition-timing-function: ease;
    font-weight: bold;
    font-size: 18px;
}

.bg_bt_more_info_small {
    background-color: rgb(255, 255, 255, 1);
    border-radius: 5rem;
    height: 3rem;
    position: relative;
    top: 0;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    width: 5rem;
    z-index: 1;
    opacity: 1;
    cursor: pointer;
    float: left;
}

.bg_bt_more_info_small:hover {
    background-color: rgb(255, 255, 255, 1);
    transform: scale(1.1);
}

.bg_bt_more_info_text_small {
    color: #3f3f3f;
    fill: none;
    height: 1.6rem;
    position: absolute;
    top: calc(50% - 1rem);
    z-index: 3;
    transition: opacity 0.5s;
    transition-timing-function: ease;
    font-weight: bold;
    font-size: 18px;
}

/* FINE BUTTON OMORE INFO ---------------- */

/* ARROWS */
/* --------------------------------------- */
.bg_arrow_left {
    background-color: rgb(255, 255, 255, 0.3);
    border-radius: 5rem;
    height: 5rem;
    position: absolute;
    top: 0;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    width: 5rem;
    z-index: 1;
    opacity: 0.5;
    cursor: pointer;
    float: left;
}

.bg_arrow_left:hover {
    background-color: rgb(255, 255, 255, 1);
}

.bg_arrow_right {
    background-color: rgb(255, 255, 255, 0.3);
    border-radius: 5rem;
    height: 5rem;
    position: relative;
    top: 0;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    width: 5rem;
    z-index: 1;
    opacity: 0.5;
    cursor: pointer;
    float: right;
}

.bg_arrow_right:hover {
    background-color: rgb(255, 255, 255, 1);
}

/* ARROWS LEFT */
#bt_arrow_left:hover {
    opacity: 1;
    transition: width 0.3s;
    transition-timing-function: ease;
    width: 200px;
}

#bt_arrow_left {
    opacity: 1;
    transition: width 0.3s;
    transition-timing-function: ease;
}

.arrow_left_close {
    color: #3f95f8;
    transition: left 0.3s;
    transition-timing-function: ease;
    fill: none;
    height: 1.6rem;
    left: calc(50% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
}

.arrow_left_open {
    color: #3f95f8;
    transition: left 0.3s;
    transition-timing-function: ease;
    fill: none;
    height: 1.6rem;
    left: calc(30% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
    font-weight: bold;
}

.bt_left_text_close {
    color: #3f95f8;
    fill: none;
    height: 1.6rem;
    left: calc(45% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
    transition: opacity 0.5s;
    transition-timing-function: ease;
    opacity: 0;
}

.bt_left_text_open {
    color: #3f95f8;
    fill: none;
    height: 1.6rem;
    left: calc(45% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
    transition: opacity 0.3s;
    transition-timing-function: ease;
    opacity: 1;
    font-weight: bold;
}

/* ARROWS RIGHT */
#bt_arrow_right:hover {
    opacity: 1;
    transition: width 0.3s;
    transition-timing-function: ease;
    width: 200px;
}

#bt_arrow_right {
    opacity: 1;
    transition: width 0.3s;
    transition-timing-function: ease;
}

.arrow_right_close {
    color: #3f95f8;
    transition: right 0.3s;
    transition-timing-function: ease;
    fill: none;
    height: 1.6rem;
    right: calc(50% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
}

.arrow_right_open {
    color: #3f95f8;
    transition: right 0.3s;
    transition-timing-function: ease;
    fill: none;
    height: 1.6rem;
    right: calc(30% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
    font-weight: bold;
}

.bt_right_text_close {
    color: #3f95f8;
    fill: none;
    height: 1.6rem;
    left: calc(45% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
    transition: opacity 0.5s;
    transition-timing-function: ease;
    opacity: 0;
}

.bt_right_text_open {
    color: #3f95f8;
    fill: none;
    height: 1.6rem;
    left: calc(45% - 0.9rem);
    position: absolute;
    top: calc(50% - 0.8rem);
    z-index: 3;
    transition: opacity 0.3s;
    transition-timing-function: ease;
    opacity: 1;
    font-weight: bold;
}

/* ------------------------------------ */
/* fine arrows */


/* button */
.bg_arrow_blu {
    background-color: #df0921;
    border-radius: 4rem;
    height: 4rem;
    position: absolute;
    top: 10px;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    width: 4rem;
    z-index: 1;
    cursor: pointer;
    float: left;
}

.bg_arrow_blu:hover {
    transform: scale(1.1);
}

@keyframes scale_button {
    0% {
        transform: scale(1);
        top: calc(50% - 13px);
    }

    100% {
        transform: scale(1.6);
        top: calc(50% - 13px);
    }
}

.icon_button {
    position: absolute;
    color: #ffffff;
    fill: none;
    height: 1.2rem;
    font-size: 35px;
    left: calc(50% - 8px);
    top: calc(50% - 8px);
    z-index: 3;
    transform: scale(1.5);
}

.icon_button:hover {
    position: absolute;
    color: #ffffff;
    fill: none;
    height: 1.6rem;
    font-size: 35px;
    left: calc(50% - 11px);
    top: calc(50% - 13px);
    z-index: 3;
    animation-name: scale_button;
    animation-duration: 0.5s;
}

/* fine - button */

/* button SOCIAL */
.bg_social {
    background-color: rgb(255, 255, 255, 1);
    border-radius: 5rem;
    height: 4rem;
    position: absolute;
    top: 0;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    width: 4rem;
    z-index: 1;
    cursor: pointer;
    float: left;
}

.bg_social:hover {
    transform: scale(1.2);
}

@keyframes scale_social {
    0% {
        transform: scale(1);
        top: calc(50% - 13px);
    }

    100% {
        transform: scale(1.3);
        top: calc(50% - 12px);
    }
}

.icon_social {
    position: absolute;
    color: #df0921;
    fill: none;
    height: 1.6rem;
    font-size: 35px;
    left: calc(50% - 11px);
    top: calc(50% - 12px);
    z-index: 3;
    transform: scale(1.2);
}

.icon_social:hover {
    position: absolute;
    color: #df0921;
    fill: none;
    height: 1.6rem;
    font-size: 35px;
    left: calc(50% - 11px);
    top: calc(50% - 12px);
    z-index: 3;
    animation-name: scale_social;
    animation-duration: 0.5s;
}

/* fine - SOCIAL */

/* input style */
.inserimento {
    background-color: #747474;
    border: 1px solid #cbcbcb;
    width: 100%;
    padding: 5px;
    padding-left: 15px;
    /* box-shadow: 0px -5px 5px rgb(255 190 190 / 50%); */
    border-radius: 10px;
    height: 4rem;
    z-index: 0;
    position: relative;
    color: #fff;
    /* font-family: 'Roboto', sans-serif;
    font-weight: 800; */
    margin-bottom: 5px;
}

::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgb(255, 255, 255, 0.5) !important;
    opacity: 1;
    /* Firefox */
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: rgb(255, 255, 255, 1) !important;
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: rgb(255, 255, 255, 1) !important;
}

/* fine input style */


#container_canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    overflow: hidden;
    background-color: #fff;
}

/* questo codice lavora solo quando lo screen è inferiore a 600px */
@media only screen and (max-width: 600px) {}

/* ---------------------------------------------------------------- */

/* animazioni css */
@keyframes color_change {
    0% {
        color: rgb(217, 65, 255);
    }

    25% {
        color: rgb(255, 251, 7);
    }

    50% {
        color: rgb(0, 204, 255);
    }

    100% {
        color: rgb(0, 235, 0);
    }
}

#anim_color_change {
    animation-name: color_change;
    animation-duration: 1s;
    /* animation-iteration-count: infinite; */
}

/* --------------- */

/* barre energia */
.noUi-horizontal .noUi-handle {
    display: none;
}

.noUi-connects {
    border-radius: 15px;
}

#energy-player-a {
    background-image: url("../img_game/bg_energy_a.png");
    background-repeat: repeat-x;
}

#energy-player-a .noUi-connect,
.noUi-origin {
    background-color: #3f95f8;
}

#energy-player-b {
    background-image: url("../img_game/bg_energy_b.png");
    background-repeat: repeat;
}

#energy-player-b .noUi-connect,
.noUi-origin {
    background-color: #f83f6a;
}

.noUi-target {
    background: rgb(250, 250, 250);
    border-radius: none;
    border: none;
    box-shadow: none;
}

#text_energy_a {
    font-size: 12px;
    color: #1c4eff;
    font-weight: bold;
    background-color: rgb(255, 255, 255, 0.8);
    border-radius: 10px;
    padding-left: 5px;
    padding-right: 5px;
    float: left;
    max-width: 116px;
    height: 18px;
    overflow: hidden;
}

#text_energy_b {
    font-size: 12px;
    color: #ff1c6c;
    font-weight: bold;
    background-color: rgb(255, 255, 255, 0.8);
    border-radius: 10px;
    padding-left: 5px;
    padding-right: 5px;
    float: left;
    max-width: 116px;
    height: 18px;
    overflow: hidden;
}

.energy {
    margin-bottom: 10px;
    border-radius: 15px;
    width: 60%;
    float: right;
}

#contenitor_energy_a,
#contenitor_energy_b {
    display: none;
    position: relative;
    height: 28px;
}

/* fine - barre energia */

.save_name {
    color: #fff;
    padding: 10px;
    padding-bottom: 12px;
    border-radius: 10px;
    cursor: pointer
}

.soft_intro {
    animation: image_blur 0.3s;
    visibility: visible;
}

@keyframes image_blur {
    0% {
        -webkit-filter: blur(30px);
    }

    50% {
        -webkit-filter: blur(5px);
    }

    100% {
        -webkit-filter: blur(2px);
    }
}


.btn_small_shadow_red {
    background-color: #df0921 !important;
}

.btn_small_shadow_red:hover {
    background-color: #000000 !important;
}

/* preload page */

.preload_page {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

.preload_page div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 80px;
    position: relative;
    top: -50px;
}

.soft_intro {
    animation: image_blur 1s;
    visibility: visible;
}

@keyframes image_blur {
    0% {
        -webkit-filter: blur(30px);
    }

    50% {
        -webkit-filter: blur(5px);
    }

    100% {
        -webkit-filter: blur(2px);
    }
}