main{
    
    display: flex;
    
    flex-direction: column;
    
    justify-content: center;
    align-items: center;
    
}

.main-page{

    width: 100%;
    
}

.main-page-txt{
    
    width: 60%;

    display: flex;
    justify-self: center;

    align-items: center;
    flex-direction: column;
   
}

.main-page-txt h1 {    

    width: 100%;

    text-align: center;

    font-family: Inconsolata;
    font-size: clamp(1rem, 3rem, 10rem);
    font-weight: bold;
    color: hsl(0, 0%, 100%);

    margin-bottom: 1.64vh;

}

.main-page-txt p{
    
    width: 100%;

    text-align: center;

    font-family: Inconsolata-Medium;
    font-size: clamp(0.7rem, 1.5rem, 1.4rem);
    color: hsl(252, 6%, 83%);

    margin-bottom: 4.55vh;
}

svg, img {
    pointer-events: none;
}

form{

    position: fixed;

    display: flex;

    flex-direction: column;

    justify-content: center;

    text-align: left;
    position: relative;

    width: clamp(100px, 100%, 444.12px);
    
    margin-left: 1rem;
    margin-right: 1rem;

}

label {
    
    font-family: Inconsolata;
    font-size: clamp(0.7rem, 1.6em, 2rem);
    font-weight: 400;
    color: hsl(0, 0%, 100%);

}

.text-label{
    
    margin-left: 15px;

}
.input-element{
    margin-top: 2.27vh;
}

.input-border{

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


    width: 95%;
    height: clamp(1rem, 4.5rem, 10rem);    

    margin: 1.36vh 0 0 0; 

    box-sizing: border-box;

    border: solid 2px transparent;

}

.input-border:focus-within{

    border: solid 2px hsla(0, 0%, 80%, 0.7);
    border-radius: 15px;

}

input {

    width: 99%;
    height: 90%;
    
    border-style: solid;
    border-width: 1px; 
    border-color: hsla(0, 0%, 100%, 0.6);
    border-radius: 10px;
    
    background-color: hsl(245, 15%, 58%, 0.17);
    
    font-family: Inconsolata;
    font-size: 1.1rem;
    color:white;  
    padding-left: 1rem;
    
    backdrop-filter: blur(3px);
    
    box-sizing: border-box;
    
}

input::placeholder{
    
    font-family: Inconsolata;
    font-size: clamp(0.7rem, 100%, 2rem);
    color:white;
    opacity: 80%;

}

input:hover{

    background-color: hsla(0, 0%, 100%, 0.2);
    cursor: pointer; 

}

input:focus{    

    outline: none;

}

.invalid-msg {
    
    gap: 0.5rem;
    
    margin-top: 0.75rem;
    margin-left: 15px;

    color: hsl(7, 71%, 60%);

    font-family: Inconsolata;
    font-size: clamp(0.5rem, 0.9rem, 0.9rem); 

}
/*
form:has(button:focus) input:invalid,
form:has(button:active) input:invalid {
    
    border-color: hsl(7, 71%, 60%);
    border-width: 2px;
    
}
    

form:has(button:focus) .input-border:has(input:invalid) {

    align-items: start !important;
    height: 5.7rem !important;
    
}
*/



.element{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.input-border-file{
    
    display: flex;
    justify-content: center;
    align-items: center;

    width: 95%;
    height: clamp(1rem, 11.7rem, 100rem);  
    margin: 1.36vh 0 0.8vh 0;

    box-sizing: border-box;

}

.input-border-file:focus-within{

    border: solid 2px hsla(0, 0%, 80%, 0.7);
    border-radius: 15px;   
    
}

.drag-area{
    
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
    width: 83%;
    padding: clamp(0.3rem, 100%, 2rem);

    color: transparent; 
    border-style: none;
    
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='15' ry='15' stroke='%23FFFFFF99' stroke-width='2.5' stroke-dasharray='6%2c 7' stroke-dashoffset='78' stroke-linecap='butt'/%3e%3c/svg%3e");
    border-radius: 15px;
    
    background-color:  hsla(245, 15%, 58%, 0.17);

    backdrop-filter: blur(3px);
    
}

.drag-area:hover{

    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='15' ry='15' stroke='%23E16151FF' stroke-width='2.5' stroke-dasharray='6%2c 7' stroke-dashoffset='78' stroke-linecap='square'/%3e%3c/svg%3e");
    background-color: hsla(0, 0%, 100%, 0.2);
    cursor: pointer; 
    
}

.drag-area label:hover{
    
    cursor: pointer; 
    
}


.drag-area label {
    
    font-family: Inconsolata-Medium;
    font-size: clamp(0.5rem, 100%, 1rem);
    font-weight: 0;
    
    text-align: center;
    position: bottom;
    
    
}

.drag-area label span {

    opacity: 60%;
    margin-bottom: 0.3rem;
}

.upload-completed {

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
    width: 83%;

}

.upload-completed img {

    width: 60px;
    height: 60px;

    margin-bottom: 2.2rem;
    
    border: 1px solid hsl(0, 0%, 100%);
    border-radius: 20%;

}

.upload-completed-buttons {

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

}

.upload-completed-buttons label{

    font-size: 0.9rem;
    color: hsla(0, 0%, 100%, 0.5);

    padding: 0.4rem 0.8rem;
    
    border-style: none;
    border-radius: 5px;

    background-color: hsl(245, 19%, 35%, 50%);

}

.upload-completed-buttons label:hover {
    text-decoration: underline;
}

.upload-completed-buttons input {
    
    position: absolute;
    left: -9999px;
    
}


#dragtxt{

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    width: 100%;
    height: 100%;

}

.upload-icon-area{
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    height: 3.17rem;
    width: 3.17rem;
    
    border: solid 1px hsla(0, 0%, 100%, 0.18);
    border-radius: 10px;

    background-color: hsla(0, 0%, 100%, 0.1);
    
    position: relative;

    margin: 0.5rem 0 2rem 0;

}

#upload-icon {
    
    width: 2.08rem;
    height: 2.73rem;

}

.info-area {

    margin-bottom: 2.27vh;
    display: flex;

}

#info-txt, .normal-info, .invalid-info {

    display: flex;
    align-items: center;
    gap: 0.5rem;

    margin-left: 7px;

    font-size: clamp(0.5rem, 100%, 0.9rem); 

    opacity: 60%;
    
}

.invalid-info {

    color: hsl(7, 71%, 60%);
    opacity: 100%;

}

#info-icon{
    margin-right: 0.5rem;
}

#file-input {
  position: absolute;
  left: -9999px;
}

#file-input::file-selector-button {
    
    display: none;
    
}

.send-button{

    display: flex;
    justify-content: center;
    box-sizing: border-box;
    
    height: clamp(1rem, 4rem, 100rem);

}

.button-border{

    display: flex;
    justify-content: center;
    align-items: center;
    
    width: 93%;
    height: 100%;

    margin-top: 2.27vh;

    box-sizing: border-box;

}

.button-border:focus-within{
    
    border: solid 2px hsla(0, 0%, 100%, 0.7);
    border-radius: 15px;

}

#submit-button{
    
    background-color: hsl(7, 71%, 60%);

    width: 98.9%;
    height: 93%;

    border-style: none;
    border-radius: 10px;

    text-align: center;
    
    font-family: Inconsolata-ExtraBold;
    font-size: clamp(0.1em, 1.6em, 2em); 

    color: hsl(248, 70%, 10%);


    box-sizing: border-box;

}

button:hover {
    cursor: pointer; 
}
