:root {
    font-size: 10px;
    text-size-adjust: 100%;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@font-face {
    font-family: JB;
    src: url(../fonts/JB-400.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: JB;
    src: url(../fonts/JB-500.ttf) format("truetype");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: JB;
    src: url(../fonts/JB-700.ttf) format("truetype");
    font-weight: 700;
    font-style: normal;
}
* {
    font-family: inherit;
    padding: 0;
    margin: 0;
    letter-spacing: -.08em;
    line-height: 100%;
    font-size: var(--font-size);
    box-sizing: border-box;
}
code { 
    white-space: break-spaces;
}

ul, ol {
    list-style: none;
}
a {
    cursor: pointer;
    color: #0049ff;
}
a:hover {
    text-decoration: none;
}
body {
    font-family: JB, sans-serif;
    font-weight: 700;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
main {
    flex-grow: 1;
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
}
:root {
    --font-size:  1.6rem;
}
* {
    letter-spacing: -.06em;
    line-height: 1.4em;
}
@media (min-width: 1001px) {
    :root {
    --max-width:  130rem;
}
}@media screen and (min-width: 1001px) and (max-width: 1439px) {
    :root {
    font-size: .6944444444vw!important;
}
}@media (min-width: 744px) and (max-width: 1000px) {
    :root {
    --max-width:  62.8rem;
    font-size: 1.3458950202vw;
}
}@media (max-width: 743px) {
    :root {
    --max-width:  30.6rem;
    font-size: 2.6666666667vw;
}
}hr {
    border-bottom: 3px solid transparent;
    border-image-source: repeating-linear-gradient(to right, #FF7A00 0, #FF7A00 4px, transparent 4px, transparent 12px);
    border-image-slice: 1;
}
@media (max-width: 743px) {
    hr {
    border-bottom: 2px solid transparent;
    border-image-source: repeating-linear-gradient(to right, #FF7A00 0, #FF7A00 2px, transparent 2px, transparent 6px);
}
}header {
    margin: 0 auto;
    max-width: var(--max-width);
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}
header input, header label, header section {
    display: none;
}
header section {
    z-index: 10;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background: #000;
    padding: 2.9rem 2.9rem 0;
    transition: .1s;
    display: flex;
}
header section>div {
    height: 100%;
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-width: none;
}
header section a {
    color: #fff;
    text-underline-offset: .3rem;
}
header input:checked~section {
    right: 0;
}
header input:checked~label .open {
    display: none;
}
header input:checked~label .close {
    display: block;
    width: 2.4rem;
}
@media (min-width: 1001px) {
    header {
    height: 15rem;
}
header section {
    display: none;
}
header .logo {
    width: 31.7rem;
}
}@media (min-width: 744px) and (max-width: 1000px) {
    header {
    height: 14.5rem;
}
header section {
    display: none;
}
header .logo {
    width: 28.2rem;
}
}@media (max-width: 743px) {
    header {
    height: 8.4rem;
}
header .logo {
    width: 18.4rem;
}
header section .logo {
    margin-bottom: 7.5rem;
}
header label {
    cursor: pointer;
    display: block;
    z-index: 11;
}
header label .open {
    width: 2.7rem;
}
header label .close {
    display: none;
}
}body:has(#menu-toggle:checked) {
    overflow: hidden;
    height: 100vh;
}
.nav {
    background: #000;
}
.nav ul {
    height: 4.2rem;
    margin: 0 auto;
    max-width: var(--max-width);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4.5rem;
}
.nav a {
    color: #fff;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.2rem;
    text-underline-offset: .3rem;
}
.nav img {
    width: 2.2rem;
}
@media (max-width: 743px) {
    .nav {
    display: none;
}
}footer {
    width: 100%;
    min-width: 100%;
    background: #000;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    /*position: fixed;
    left: 0;
    bottom: 0;*/
}
@media (min-width: 1001px) {
    footer {
    height: 12rem;
    font-size: 3rem;
}
}@media (min-width: 744px) and (max-width: 1000px) {
    footer {
    height: 10.2rem;
    font-size: 2.4rem;
}
}@media (max-width: 743px) {
    footer {
    height: 8rem;
    font-size: 2rem;
}
}.input {
    position: relative;
    width: 100%;
    height: 5.5rem;
    font-weight: 500;
    font-size: 2rem;
    border: 14px solid transparent;
    border-image-source: url(../images/border.svg);
    background-size: contain;
    border-image-slice: 11;
    outline: none;
    background-color: transparent;
}
.input__textarea {
    resize: unset;
    height: 19.2rem;
}
.input::placeholder {
    color: #c3c3c3;
}
.input-label {
    color: #ff7a00;
    font-size: 1.4rem;
    font-weight: 500;
    position: absolute;
    top: -2.1rem;
    z-index: 1;
}
.input-wrapper {
    position: relative;
}
.input-wrapper[data-required]:before {
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    content: "";
    background: url(../images/input.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 1.9rem;
    top: 1.9rem;
    z-index: 1;
}
.input-wrapper[data-required] .input {
    padding-right: 3rem;
}
.input-wrapper[data-error] .input {
    border-image-source: url(../images/border-error.svg);
    color: red;
}
.input-wrapper[data-error]:after {
    display: block;
    content: attr(data-error);
    position: absolute;
    left: 0;
    bottom: -1.7rem;
    font-size: 1.6rem;
    color: red;
    font-weight: 500;
}
.input-wrapper[data-error][data-required]:before {
    background: url(../images/input-error.svg) no-repeat center;
    background-size: contain;
}
.input-wrapper[data-disabled] .input {
    pointer-events: none;
    border-image-source: url(../images/border-disabled.svg);
    color: #c3c3c3;
}
.input-wrapper[data-disabled][data-required]:before {
    background: url(../input-disabled.svg) no-repeat center;
    background-size: contain;
}
@media (max-width: 743px) {
    .input {
    border-image-slice: 10;
    height: 4.7rem;
    font-size: 1.4rem;
}
.input__textarea {
    height: 18rem;
}
.input-label {
    font-size: 1.2rem;
    top: -1.9rem;
}
.input-wrapper[data-required]:before {
    right: 1.2rem;
    top: 1.5rem;
}
.input-wrapper[data-required] .input {
    padding-right: 2rem;
}
.input-wrapper[data-error]:after {
    bottom: -1.7rem;
    font-size: 1.2rem;
}
}.select-wrapper {
    position: relative;
}
.select-label {
    color: #ff7a00;
    font-size: 1.4rem;
    font-weight: 500;
    position: absolute;
    top: -2.1rem;
    z-index: 1;
}
.select-button {
    width: 100%;
    height: 5.5rem;
    background: #fff;
    color: #000;
    cursor: pointer;
    font-size: 2rem;
    text-align: left;
    position: relative;
    border: 14px solid transparent;
    border-image-source: url(../images/border.svg);
    border-image-slice: 14;
    outline: none;
}
.select-button:after {
    content: "";
    transform-origin: center;
    position: absolute;
    width: 2.7rem;
    height: 1.58rem;
    right: 0;
    top: 50%;
    background: url(../icons/arrow-down.svg) no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    transition: all .1s linear;
}
.select-button[aria-expanded=true]:after {
    transform: translateY(-50%) rotate(180deg);
}
.select-list {
    display: none;
    position: absolute;
    top: calc(100% - .3rem);
    left: 0;
    width: 100%;
    border: 14px solid transparent;
    border-image-source: url(../images/border.svg);
    border-image-slice: 18;
    background: #fff;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 1;
    max-height: 42rem;
    overflow-y: auto;
}
.select-list::-webkit-scrollbar {
    width: .4rem;
}
.select-list::-webkit-scrollbar-track {
    background: #d8d8d8;
    border-radius: .2rem;
}
.select-list::-webkit-scrollbar-thumb {
    background: #ff7a00;
    border-radius: .2rem;
}
.select-list[aria-hidden=false] {
    display: flex;
    flex-direction: column;
}
.select-list [aria-selected=true] {
    display: none;
}
.select-option {
    flex-shrink: 0;
    display: inline-block;
    width: min-content;
    white-space: nowrap;
    cursor: pointer;
    height: 3.2rem;
    font-size: 2rem;
    font-weight: 500;
    position: relative;
    outline: none;
}
.select-option:hover:after, .select-option[aria-selected=true]:after {
    display: block;
    content: "";
    width: 100%;
    position: absolute;
    border-bottom: .2rem solid #FF7A00;
    bottom: .5rem;
}
.select-option:focus-visible {
    background: #eee;
}
@media (min-width: 744px) and (max-width: 1000px) {
    .select-button {
    border-image-slice: 12;
}
.select-list {
    border-image-slice: 16;
    top: calc(100% - 4px);
}
}@media (max-width: 743px) {
    .select-button {
    border-image-slice: 10;
    height: 4.7rem;
    font-size: 1.4rem;
}
.select-button:after {
    width: 1.46rem;
    height: .85rem;
}
.select-button[aria-expanded=true]:after {
    transform: translateY(-50%) rotate(180deg);
}
.select-list {
    border-image-slice: 10;
    max-height: 30rem;
    top: calc(100% - 3px);
}
.select-label {
    font-size: 1.2rem;
    top: -1.9rem;
}
.select-option {
    height: 2.2rem;
    font-size: 1.4rem;
}
.select-option:hover:after, .select-option[aria-selected=true]:after {
    border-bottom: .2rem solid #FF7A00;
    bottom: .3rem;
}
}.radio {
    cursor: pointer;
    display: block;
    width: 2.2rem;
    height: 2.2rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/radio.svg) no-repeat center;
    background-size: contain;
    outline: none;
}
.radio:checked {
    background: url(../images/radio-checked.svg) no-repeat center;
    background-size: contain;
}
.radio-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .7ch;
}
.radio-wrapper>* {
    cursor: pointer;
    font-size: 2rem;
}
.radio-wrapper[data-disabled] {
    pointer-events: none;
}
.radio-wrapper[data-disabled] * {
    color: #c3c3c3;
}
.radio-wrapper[data-disabled] .radio {
    background: url(../images/radio-disabled.svg) no-repeat center;
    background-size: cover;
}
.radio-wrapper[data-disabled] .radio:checked {
    background: url(../images/radio-checked-disabled.svg) no-repeat center;
    background-size: cover;
}
@media (max-width: 743px) {
    .radio-wrapper>* {
    font-size: 1.4rem;
}
}.button {
    cursor: pointer;
    width: 13.3rem;
    height: 5.5rem;
    background: url(../images/submit.svg) no-repeat center;
    background-size: contain;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    outline: none;
    border: none;
}
.button.disabled {
    cursor: not-allowed;
}
.button.disabled * {
    pointer-events: none;
}
@media (max-width: 743px) {
    .button {
    background: url(../images/submit-mobile.svg) no-repeat center;
    height: 4.8rem;
    font-size: 1.4rem;
    background-size: cover;
}
}@keyframes in-progress-blink {
    0% {
    opacity: 1;
}
50% {
    opacity: .5;
}
to {
    opacity: 1;
}
}.orange {
    color: #ff7a00;
}
.error {
    color: red;
}
.progress {
    animation: in-progress-blink 1.5s infinite ease-in-out;
}
.mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    padding: 5.4rem 0;
}
.command {
    display: flex;
    gap: 1.7rem;
}
.tip {
    font-weight: 500;
    text-align: center;
    font-size: 2rem;
    line-height: 2.8rem;
}
.block-response {
    display: none;
}
.block-response.active {
    display: block;
}
.response {
    padding: 5.5rem 0;
}
.response * {
    font-size: 2rem;
    font-weight: 500;
}
.response p {
    margin-bottom: 3.4rem;
}
.response p:last-child {
    margin-bottom: 0;
}
@media (min-width: 1001px) {
    main {
    min-height: 90rem;
}
h1 {
    font-size: 5rem;
    padding: 15rem 0 6.3rem;
}
form {
    display: grid;
    grid-template-columns: 39.5rem 1fr auto;
    gap: 5rem 4.9rem;
    margin-bottom: 6.1rem;
}
.ip {
    grid-row: 2;
    grid-column: 1;
}
.host {
    grid-row: 2;
    grid-column: 2;
}
.button {
    grid-row: 2;
    grid-column: 3;
}
.tip {
    padding: 5.5rem 0;
}
}@media (min-width: 744px) and (max-width: 1000px) {
    h1 {
    font-size: 4rem;
    padding: 15rem 0 6.7rem;
}
form {
    display: flex;
    flex-direction: column;
    gap: 5.2rem;
    margin-bottom: 8.1rem;
}
.tip {
    padding: 7rem 0;
}
}@media (max-width: 743px) {
    h1 {
    font-size: 2.8rem;
    padding: 5rem 0 4rem;
}
form {
    display: flex;
    flex-direction: column;
    gap: 4.4rem;
    margin-bottom: 6.7rem;
}
.tip {
    font-size: 1.4rem;
    line-height: 1.7rem;
    padding: 7rem 0;
}
.response {
    padding: 6.3rem 0;
}
.response * {
    font-size: 1.4rem;
    line-height: 1.68rem;
}
.response p {
    margin-bottom: 2rem;
}
.response p:last-child {
    margin-bottom: 0;
}
}
