@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-MediumItalic.eot');
    src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'),
    url('fonts/Roboto-MediumItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-MediumItalic.woff') format('woff'),
    url('fonts/Roboto-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Italic.eot');
    src: local('Roboto Italic'), local('Roboto-Italic'),
    url('fonts/Roboto-Italic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Italic.woff') format('woff'),
    url('fonts/Roboto-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Bold.eot');
    src: local('Roboto Bold'), local('Roboto-Bold'),
    url('fonts/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Bold.woff') format('woff'),
    url('fonts/Roboto-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.eot');
    src: local('Roboto'), local('Roboto-Regular'),
    url('fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Regular.woff') format('woff'),
    url('fonts/Roboto-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Medium.eot');
    src: local('Roboto Medium'), local('Roboto-Medium'),
    url('fonts/Roboto-Medium.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Medium.woff') format('woff'),
    url('fonts/Roboto-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-BoldItalic.eot');
    src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'),
    url('fonts/Roboto-BoldItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-BoldItalic.woff') format('woff'),
    url('fonts/Roboto-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-ThinItalic.eot');
    src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'),
    url('fonts/Roboto-ThinItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-ThinItalic.woff') format('woff'),
    url('fonts/Roboto-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Black.eot');
    src: local('Roboto Black'), local('Roboto-Black'),
    url('fonts/Roboto-Black.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Black.woff') format('woff'),
    url('fonts/Roboto-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Light.eot');
    src: local('Roboto Light'), local('Roboto-Light'),
    url('fonts/Roboto-Light.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Light.woff') format('woff'),
    url('fonts/Roboto-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-LightItalic.eot');
    src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
    url('fonts/Roboto-LightItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-LightItalic.woff') format('woff'),
    url('fonts/Roboto-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-BlackItalic.eot');
    src: local('Roboto Black Italic'), local('Roboto-BlackItalic'),
    url('fonts/Roboto-BlackItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-BlackItalic.woff') format('woff'),
    url('fonts/Roboto-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Thin.eot');
    src: local('Roboto Thin'), local('Roboto-Thin'),
    url('fonts/Roboto-Thin.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Thin.woff') format('woff'),
    url('fonts/Roboto-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
*, *:after, *:before {
    box-sizing: inherit;
}
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
    margin:0;
    padding:0;
}
body {
    width: 2160px;
    height: 3840px;
    font-family: 'Roboto', sans-serif;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
body.home {
    background: url('img/home-bg.png') no-repeat center center;
    background-size: cover;
}
.container-home {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}
.choose-object {
    width: 90%;
    height: 50vh;
    margin: 0 auto;
}
.choose-object h2 {
    font-size: 6em;
    text-align: center;
    margin-bottom: 2vh;
    color: #fff;
}
.wrapper-obj {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
}
.wrapper-obj .item {
    position: relative;
    width: 20%;
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    border: 5px solid #29e;
    border-radius: 50%;
    box-shadow: 0 0 20px 0px #29e;
}
.wrapper-obj .item img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
a.go-home {
    position: absolute;
    right: 100px;
    top: 100px;
    background: url('img/go-home.svg') no-repeat center center;
    width: 150px;
    height: 150px;
    background-size: cover;
}
span.tooltip {
    position: absolute;
    color: #000;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 80px;
    font-size: 40px;
    padding: 20px;
    border-radius: 71px;
    bottom: -120px;
    text-align: center;
}
fieldset, img, a img, :link img, :visited img {
    border:0;
}
ol,ul {
    list-style:none;
}
h1,h2,h3,h4,h5, h6 {

}
.container-full, .container-inner {
    width: 100%;
    height: 3840px;
}
.container-inner {
    background: rgb(255,255,255);
    background: linear-gradient(80deg, rgba(255,255,255,1) 0%, #7f9700 100%, rgba(255,255,255,1) 100%);
}

.board {
    position: absolute;
    top: 0;
    width: 100%;
    max-width: 100%;
    height: 3245px;
    background: url(img/board-full.svg) no-repeat center center;
    z-index: 0;
    background-size: cover;
    border-top: 10px solid #fac23f;
}

.elements-box {
    display: flex;
    width: 100%;
    background: #D6CEBD;
    bottom: 0;
    height: 400px;
    position: relative;
}


.drop-active {
    border-color: red;
}

.drop-target {
    background-color: #29e;
    border-color: #fff;
    border-style: solid;
}

.wrapper-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content:flex-start;
    align-content: flex-end;
    height: 600px;
    width: 100%;
    padding: 3265px 50px 50px 50px;
}

div.drag-drop:not(.can-drop) {
    height: 210px;
    max-height: 210px;
}
.drag-drop.can-drop {

}
.drag-drop {
    position: absolute;
    color: #fff;
    touch-action: none;
    transform: translate(0px, 0px);
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 210px;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    padding: 0;
    text-shadow: 6px 3px 11px black;
    z-index: 1;
    margin: 20px;
}
.drag-drop > img {
    max-width: 100%;
    height: auto;
}
.drag-drop::before {
    position: absolute;
    content: '';
    width: 210px;
    height: 210px;
    background: linear-gradient(180deg, #3f9f1c  0%, #FFF 100%);
    filter: drop-shadow(5px 20px 35px rgba(0, 0, 0, 0.25));
    border-radius: 50%;
    z-index: -1;
}

.drag-drop::after {
    position: absolute;
    top: -45px;
    font-size: 28px;
    line-height: 112%;
    text-transform: none;
}

.power-btn {
    opacity: 0;
    position: absolute;
    right: 50px;
    bottom: 65px;
    width: 200px;
    height: 250px;
    background: url(img/pow.svg) no-repeat center center;
    background-size: contain;
    cursor: pointer;
    transition: opacity 0.3s ease;
    z-index: 999;

}
.power-btn.active {
    width: 200px;
    height: 250px;
    background: url(img/pow-act.svg) no-repeat center center;
    background-size: contain;
    cursor: pointer;
    bottom: 10px;
    z-index: 999;
}
.power-btn.show {
    opacity: 1;
}
div#modal-s {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
div#modal-s h4 {
    color: #8ea800;
}


#modal-s .checkmark-circle {
    width: 150px;
    height: 150px;
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 45px;
}
.checkmark-circle .background {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #1ab394;
    position: absolute;
}
#modal-s  .checkmark-circle .checkmark {
    border-radius: 5px;
}
#modal-s .checkmark-circle .checkmark.draw:after {
    -webkit-animation-delay: 300ms;
    -moz-animation-delay: 300ms;
    animation-delay: 300ms;
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease;
    -moz-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-name: checkmark;
    -moz-animation-name: checkmark;
    animation-name: checkmark;
    -webkit-transform: scaleX(-1) rotate(135deg);
    -moz-transform: scaleX(-1) rotate(135deg);
    -ms-transform: scaleX(-1) rotate(135deg);
    -o-transform: scaleX(-1) rotate(135deg);
    transform: scaleX(-1) rotate(135deg);
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
#modal-s  .checkmark-circle .checkmark:after {
    opacity: 1;
    height: 75px;
    width: 37.5px;
    -webkit-transform-origin: left top;
    -moz-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top;
    border-right: 15px solid #fff;
    border-top: 15px solid #fff;
    border-radius: 2.5px !important;
    content: '';
    left: 35px;
    top: 80px;
    position: absolute;
}



/* Modals */
.modal {
    display: none;
}
.modal.active {
    display: block;
    position: absolute;
    width: 900px;
    min-height: 600px;
    height: auto;
    top: 38%;
    border-radius: 5%;
    left: 32%;
    padding: 50px;
    font-size: 40px;
    background: #d4f3ffde;
    z-index: 1;
}
.modal.active .btn-close {
    position: absolute;
    width: 72px;
    height: 72px;
    background: url('img/close.svg') no-repeat center center;
    right: 20px;
    top: 10px;
}
.modal.active h4 {
    margin-bottom: 40px;
    text-align: center;
    text-transform: uppercase;
    color: #003D8D;
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.modal.active p {
    font-size: 36px;
    line-height: 150%;
}

/* End Modals */




/* Стили для анимации линий */
.line {
    position: relative;
    stroke: #565656;
    stroke-width: 5px;
    fill: none;
    stroke-dasharray: 100%;
    stroke-dashoffset: 100%;

}


.line-animate {
    animation: drawLine 5s forwards,  changeColor 1s linear infinite;
}

button#connectButton {
    z-index: 999;
    position: absolute;
    right: 0;
    top: 170px;
    height: 80px;
    width: 300px;
    font-size: 24px;
}


@keyframes changeColor {
    0% {
        stroke: #1975ff;
    }
    50% {
        stroke: #eadcdc;
    }
    100% {
        stroke: #1975ff;
    }
}
/* SVG линии */
.lines {
    position: absolute;
    top: -133px;
    left: 0;
    width: 100%;
    height: 100%;
}


/* Анимация */
@keyframes drawLine {
    to {
        stroke-dashoffset: 0;
    }
}




.custom-button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px;
    font-size: 22px;
    text-transform: uppercase;
    font-weight: bold;
    right: 20px;
    bottom: 460px;
    color: #ffffff;
    width: 100%;
    max-width: 300px;
    border: none;
    height: 80px;
    border-radius: 50px;
    cursor: pointer;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
    background: #d99800;
    text-decoration: none;
}


.custom-button:hover {
    background: #77fa3f;
}
a.link-home {
    display: flex;
    margin-top: 35px;
    text-decoration: none;
    color: #0066ff;
    padding-bottom: 5px;
    border-bottom: 1px solid #0066ff;
}