@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


:root{
    --main-width: 63.6rem;
    --main-margine-left: 4rem;
    
    --main-margine-right: 4rem;
    --main-margine-left-mobile: 2.4rem;

    --color-universality: rgba(43, 42, 41, 1);
    --color-indifference: rgba(210, 210, 210, 1);
    --color-interest: rgba(0, 141, 177, 1);
    --color-self-sufficiency: rgba(0, 177, 159, 1);
    --color-success: rgba(106, 177, 0, 1);
    --color-reject: rgba(177, 0, 18, 1);
    --color-light-gray: rgba(234,234,234,1);

    --color-placeholder: rgba(182,182,182,1);

    --color-disabled: rgba(118,118,118,1);
    --color-disabled-light: rgba(200,200,200,1);

    --color-extralight-gray: rgba(243,243,243,1);

    --appbar-height: 4.375rem;/*70 px;*/
    --appbar-height-mobile: 4.375rem;/*70 px;*/

    --carped-width: 25rem;
    --carpet-height: 33rem;
    --carpet-height-mobile: 29rem;
    --carped-width-mobile: 20rem;

    /* --page-paddingtop: 4rem;
    --page-paddingtop-mobile: 10rem; */
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html{
    height: 100%;
}

body{
    overflow-y:auto;
    overflow-x: none;
    height: 100%;
    position: relative;
}

.header{
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    height: var(--appbar-height);/*70 px;*/
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;

    border-bottom: 1px solid #282a29;

    /* z-index: 100; */

    padding: 0 var(--main-margine-left);
    background-color: white;

    /* view-transition-name: header; */
}

.logo{
    height: 2rem; /* 32px */
    width: 14.375rem; /* 324.5px */
    background-image: url("./assets/logo.svg");
    background-size: contain;
    background-repeat: no-repeat;
}

.page{
    position: absolute;
    top: var(--appbar-height);
    left: 0;
    right: 0;
    bottom: 0;

    /* background-color: antiquewhite; */
  
    width: 100%;
    height: calc(100vh - var(--appbar-height));

    overflow-y: auto;
    overflow-x: auto;
}


.title{
    font-family: Montserrat;
    font-weight: 600;
    font-style: SemiBold;
    font-size: 1.375rem;

    line-height: 140%;
    letter-spacing: 0%;
}

.sizedbox{
    flex-grow: 1;
}

.content_container{
    position: absolute;

    width: var(--carped-width);
    height: var(--carpet-height);

    left: calc(50% - var(--carped-width) / 2);

    top: max(var(--appbar-height) / 2, calc( (100% - var(--appbar-height)) / 2 - var(--carpet-height) / 2));
}

.form,
.sending_carpet,
.result_carpet{
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
/* 
    width: var(--carped-width);
    height: var(--carpet-height);

    left: calc(50% - var(--carped-width) / 2);

    top: max(var(--appbar-height) / 2, calc( (100% - var(--appbar-height)) / 2 - var(--carpet-height) / 2)); */

    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    /* background-color: aqua; */
}

.inputblock{
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    /* background-color:bisque; */

    margin-bottom: 1.2rem;
}

.blockname {
    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 1rem;

    line-height: 100%;
    letter-spacing: 0%;

    color: var(--color-disabled);

    align-self: flex-start;

    margin-bottom: 0.625rem;
}

input {
    width: 25rem;
    height: 2.5rem;

    padding: 0 1rem;
    outline: none;
    border: none;
  
    background-color: var(--color-light-gray);

    line-height: 2rem; /* Make line-height equal to height for vertical centering */
    font-family: Montserrat, sans-serif; /* Added sans-serif fallback */
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0;
    /* Ensure box-sizing doesn't interfere (optional but good practice) */
    box-sizing: border-box;

    border-radius: 6px;
}

textarea {
    width: 25rem;
    height: 5rem;

    resize: none;

    background-color: var(--color-light-gray);
    border-radius: 6px;

    line-height: 2rem; /* Make line-height equal to height for vertical centering */
    font-family: Montserrat, sans-serif; /* Added sans-serif fallback */
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0;
    /* Ensure box-sizing doesn't interfere (optional but good practice) */
    box-sizing: border-box;

    border: none;

    outline: none;

    padding: 0.5rem 1rem;
}

.button {
    width: 25rem;
    height: 2.5rem;
    /* background-color: var(--color-universality); */
    background-color: var(--color-self-sufficiency);

    color: white;

    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 1rem;

    line-height: 100%;
    letter-spacing: 0%;
    
    border-radius:6px;

    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    margin-top: 1rem;

    outline-color: black;

    user-select: none;
}

.button:hover {
    cursor:pointer;
    background-color: var(--color-success);
}

.buttonDisabled {
    cursor:no-drop!important;
    background-color: var(--color-disabled-light)!important;
    outline: none!important;
}

.invalid{
    border: solid red 1px;
}

.sending_carpet,
.result_carpet{
    opacity:0;
    transition: opacity 500ms;
    z-index: 100;

    background-color: white;

    justify-content: center;
}

.result_carpet{
    /* background-color: burlywood; */
    z-index: 101;
    /* justify-content: start;
    align-items: center; */
}


.loader {
    width: 3rem;
    height: 3rem;
    border: 5px solid var(--color-self-sufficiency);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} 


/*
    tab version
*/


/*
    mobile version
*/

@media screen and (max-width: 760px) {

    .loader{
        border: 2px solid var(--color-self-sufficiency);
        border-bottom-color: transparent;
        width: 2.5rem;
        height: 2.5rem;
    }

    .header{
        padding: 0 var(--main-margine-left-mobile);
    }

    .logo{
        height: 1.5rem; /* 32px */
        width: 10.375rem; /* 324.5px */
    }

    .title{
        font-family: Montserrat;
        font-weight: 600;
        font-style: SemiBold;
        font-size: 1rem;

        line-height: 100%;
        letter-spacing: 0%;
    }

    .blockname {
        font-family: Montserrat;
        font-weight: 600;
        font-style: SemiBold;
        font-size: 0.625rem;

        line-height: 100%;
        letter-spacing: 0%;
        vertical-align: bottom;

        margin-bottom: 0.5rem;
    }

    .content_container{
        height: var(--carpet-height-mobile);
        width: var(--carped-width-mobile);

        left: calc(50% - var(--carped-width-mobile) / 2);

        top: max(var(--appbar-height-mobile) / 2, calc( (100% - var(--appbar-height-mobile)) / 2 - var(--carpet-height-mobile) / 2));
    }

    input,
    textarea,
    .button{
        width: calc(var(--carped-width-mobile) - 1rem);

        font-size: 0.75rem;
    }
}