@import url('https://fonts.googleapis.com/css?family=Poppins:400,500,600,700&display=swap');
*{
  margin: 0;
  padding: 0;
  outline: none;
  font-family: 'Poppins', sans-serif;
}
:root {
    /*--gradient-start: hsl(221.11deg 28.72% 36.86%);*/
    --gradient-start: hsl(353.21deg 86.89% 23.92%);
    --gradient-end: red;
    /*--gradient-end: hsl(221.11deg 28.72% 36.86%);*/
    --bs-white-rgb: 255, 255, 255;
}
body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    background-image: url("/diyperms/images/hero-bg.jpg");
    background-size: cover; /* Makes the image cover the entire body */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Prevent repeating */
    filter: brightness(1.5);
}
::selection{
  color: #fff;
  background: #262626;
}
.required{
    border:2px solid red !important;
}
.container_index {
    width: 330px;
    /*background: #fff;*/
    text-align: center;
    border-radius: 5px;
    padding: 10px 35px 0px 35px;
}
    .container_index header {
        font-size: 35px;
        font-weight: 600;
        margin: 0 0 30px 0;
    }
    .container_index .form-outer {
        width: 100%;
        overflow: hidden;
    }
        .container_index .form-outer .custom_form {
            display: flex;
            width: 400%;
        }
.form-outer .custom_form .page {
    width: 25%;
    transition: margin-left 0.3s ease-in-out;
}
    .form-outer .custom_form .page .title {
        text-align: left;
        font-size: 25px;
        font-weight: 500;
        background-image: linear-gradient(to right,var(--gradient-end),var(--gradient-start));
        font-weight:700;
    }
    .form-outer .custom_form .page .field {
        /*width: 330px;*/
        height: 45px;
        margin: 45px 0;
        display: flex;
        position: relative;
    }
.custom_form .page .field .label {
    position: absolute;
    top: -30px;
    font-weight: 500;
    color: white;
    font-size: 18px;
}
.custom_form .page .field input {
    height: 100%;
    width: 100%;
    border: 1px solid lightgrey;
    border-radius: 5px;
    padding-left: 15px;
    font-size: 18px;
}
.custom_form .page .field select {
    width: 100%;
    padding-left: 10px;
    font-size: 17px;
    font-weight: 500;
}
/*.custom_login_btn {
    width: 15%;
    
    border: none;
    background-image: linear-gradient(to right, var(--gradient-start), var(--gradient-end));
    margin-top: -20px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.5s ease;
    position: fixed;
    right: 10px;
}*/
.custom_login_btn {
    width: 100%;
    height: calc(100% + 5px);
    border: none;
    background-image: linear-gradient(to right, var(--gradient-start), var(--gradient-end));
    margin-top: -20px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.5s ease;
}
.custom_form .page .field button {
    width: 100%;
    height: calc(100% + 5px);
    border: none;
    background-image: linear-gradient(to right, var(--gradient-start), var(--gradient-end));
    margin-top: -20px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.5s ease;
}
    .custom_form .page .field button:hover {
        background: #000;
    }
.custom_form .page .btns button {
    margin-top: -20px !important;
}
    .custom_form .page .btns button.prev {
        margin-right: 3px;
        font-size: 17px;
    }
    .custom_form .page .btns button.next {
        margin-left: 3px;
    }
.container_index .progress_bar {
    display: flex;
    margin: 20px 0px 5px;
    user-select: none;
}
    .container_index .progress_bar .step {
        text-align: center;
        width: 100%;
        position: relative;
    }
        .container_index .progress_bar .step p {
            font-weight: 500;
            font-size: 18px;
            color: white;
            margin-bottom: 8px;
        }
.progress_bar .step .bullet {
    height: 25px;
    width: 25px;
    border: 2px solid #000;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    transition: 0.2s;
    font-weight: 500;
    font-size: 17px;
    line-height: 25px;
    background-color: white;
    color: black;
}
    .progress_bar .step .bullet.active {
        background-image: linear-gradient(to right, var(--gradient-start), var(--gradient-end));
    }
.progress_bar .step .bullet span{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.progress_bar .step .bullet.active span{
  display: none;
}
.progress_bar .step .bullet:before,
.progress_bar .step .bullet:after{
  position: absolute;
  content: '';
  bottom: 11px;
  right: -51px;
  height: 3px;
  width: 44px;
  background: #262626;
}
    .progress_bar .step .bullet.active:after {
        background-image: linear-gradient(to right, var(--gradient-start), var(--gradient-end));
        transform: scaleX(0);
        transform-origin: left;
        animation: animate 0.3s linear forwards;
    }
@keyframes animate {
  100%{
    transform: scaleX(1);
  }
}
.progress_bar .step:last-child .bullet:before,
.progress_bar .step:last-child .bullet:after{
  display: none;
}
.progress_bar .step p.active{
  color: white;
  transition: 0.2s linear;
}
.progress_bar .step .check{
  position: absolute;
  left: 50%;
  top: 70%;
  font-size: 15px;
  transform: translate(-50%, -50%);
  display: none;
}
.progress_bar .step .check.active{
  /*display: block;
  color: #fff;*/
}
.custom_h3 {
    background-color: #aaa9a6;
    text-align: center;
    border-radius: 8px;
    /*border: 1px solid;*/
    color: white;
    opacity:.8;
}
.title.custom_h3 {
    text-align: center !important;
}
#login_form{
    display:none;
}
@media only screen and (max-width: 600px) {
    .custom_login_btn {
        width:50%;
        top: 10%;
        left: 22%;
    }
}
.left_div{
    float:left;
}
.right_div{
    float:right;
}
@media (min-width: 768px) {
    .md\:text-left {
        text-align: left;
    }
}

.z-10 {
    z-index: 10;
}

.relative {
    position: relative;
}
.md\:text-5xl {
    font-size: 3rem;
    line-height: 1.4;
}
.md\:w-\[721px\] {
    width: 721px;
}
.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
    font-family: "Jost", Arial;
    font-optical-sizing: auto;
    font-style: normal;
}

.font-bold {
    font-weight: 700;
}
.AWorker, .CompanySponsor {
    /*background-color: #aaa9a6;
    background-image: unset !important;
    color: black;*/
    cursor: pointer;
}
.alert_danger_background {
    background-image: linear-gradient(to right, var(--gradient-end), var(--gradient-end));
    color: white;
    border: none;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 1rem 2rem;
}
.alert_warning_background {
    border: none;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 1rem 2rem;
    background-color: #aaa9a6;
    text-align: center;
    border-radius: 8px;
    color: red;
    opacity: .8;
}
input[type="radio"] {
    outline: 2px solid red;
    /*outline-offset: 2px;*/
    accent-color: red;
    margin-right:.9rem;
}
.red_background_with_white_text {
    
}
    .red_background_with_white_text .bullet_point {
        text-align:left;
    }
    .red_background_with_white_text .custom_h3 {
        background-image: linear-gradient(to right, var(--gradient-end), var(--gradient-start));
        padding: .3rem;
        border:none !important;
    }
    .red_background_with_white_text .h3_custom {
        font-size: 1.5rem;
        color: white;
    }
#banner_row {
    transition: 0.5s ease;
}
#banner_row .custom_h3 {
    border: 3px solid red;
}
.h3_custom {
    font-size: 1.5rem;
    color: red;
}

.h3_custom_footer {
    font-size: .75rem;
    color: #000;
}

.h-20 {
    height: 20%;
}

.h-33 {
    height: 33%;
}

.footer_row {
    position: fixed;
    bottom: 0px;
    right: 0px;
}

.middle_font {
    font-size: 1.2rem;
}
.padding_3rem {
    padding: .3rem;
}
.padding_2rem {
    padding: .2rem;
}
.ms-23 {
    margin-left: 23rem !important;
}