/*------------------------------*/

.form{
   max-width: 750px;	
   margin: 0 auto;
   color: #fff;
   padding: 5px 0;
   }
   
   .form *{
      outline: none;
   }
   
   .form_body{
      position: relative;
      
   }
   
   .form_body::after{
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(51, 51, 51, 0.418) url("/portfolio/css/../images/load.gif") center / 50px no-repeat;
      opacity: 0;
      visibility: hidden;
      transition: all 0.5s ease 0s;
     
   }
   
   .form_body._sending::after{
      opacity: 1;
      visibility: visible;
   }
   
   .form_title{
      font-size: 40px;
      font-weight: 700;
      margin: 0px 0px 30px 0px;
   }
   
   .form_item{
      margin: 0px 0px 5px 0px;
   }
   
   .form_lable{
   font-size: 18px;
   display: block;
   margin: 0px 0px 5px 0px;
   }
   
   .form_input{
   height: 50px;
   padding: 0px 20px;
   border-radius: 5px;
   width: 100%;
   font-size: 18px;
   transition: all 0.5s ease 0s;
   }
   
   .form_input:focus{
      box-shadow: 0 0 15px darkseagreen;
   }
   
   .form_input._error{
      box-shadow: 0 0 15px #7e22ce;
   }
   
   textarea.form_input{
      min-height: 120px;
      resize: vertical;
      padding: 20px;
   }
   
   .options{
       padding: 10px 0px 0px 0px;
   }
   
   .options_input{
       display:none;
   }
   
   .options_input:checked + .options_lable::after{
   transform: scale(1);
   }
   
   .options_item{
       margin: 0px 0px 5px 0px;
   }
   
   .options_lable{
      display: inline-flex;
       font-size: 16px;
       line-height: 140%;
       align-items: center;
       position: relative;
   }
   
   .options_lable::before{
       content: "";
       align-self: flex-start;
       flex: 0 0 24px;
       height: 24px;
       background-color: #fff;
       border-radius: 50%;
       margin: 0px 5px 0px 0px;
   }
   
   .options_lable::after{
      transition: transform 0.3s ease 0s;
      content: "";
      position: absolute;
      height: 16px;
      width: 16px;	
      top:4px;
      left:4px;
      background-color: darkseagreen;
      border-radius: 50%;
      transform: scale(0);
   }
   
   .select{
       
   }
   
   .file{
   
   }
   
   .file_item{
      position: relative;
   }
   
   .file_input{
      position: absolute;
      top:0;
      left:0;
      width: 100%;
      height: 100%;
      opacity: 0;
      font-size: 0;
      cursor: pointer;
   }
   
   .file_button{
      display: inline-flex;
      min-height: 40px;
      border-radius: 30px;
      justify-content: center;
      align-items: center;
      background-color: #77608d;
      padding: 0px 20px;
   }
   
   .file_preview{
      display: inline-block;
      max-width: 100px;
      padding: 10px 0px 10px 0px;
   }
   
   
   .file_preview img{
      max-width: 100%;
   }
   
   .checkbox{
   
   }
   
   .checkbox._error .checkbox_lable::before{
   box-shadow: 0 0 15px #7e22ce;
   }
   
   .checkbox_input{
      display: none;
   }
   
   
   .checkbox_input:checked + .checkbox_lable::after{
   transform: scale(1);
   }
   
   .checkbox_lable{
      font-size: 16px;
      line-height: 140%;
      display: inline-flex;
      align-items: center;
      position: relative;
      cursor: pointer;
   }
   
   .checkbox_lable::before{
       content: "";
       align-self: flex-start;
       flex: 0 0 24px;
       height: 24px;
       background-color: #fff;
       border-radius: 4px;
       margin: 0px 10px 0px 0px;
   }
   
   .checkbox_lable::after{
      transition: transform 0.5s ease 0s;
      content: "";
      height: 16px;
      width: 16px;
      position: absolute;
      top:4px;
      left:4px;
      background: linear-gradient(95deg, #7e22ce 3.2%, #3b82f6 99.5%); 
      border-radius: 4px;
      transform: scale(0);
   }
   
   .checkbox_lable a{
      background: linear-gradient(95deg, #7e22ce 3.2%, #3b82f6 99.5%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
   }
   
   .form_button{
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 60px;      
      color: #fff;      
      cursor: pointer;    
      
   }