
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap');

    /* Chrome, Safari, Edge, Opera */
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    /* Firefox */
    input[type=number] {
      -moz-appearance: textfield;
    }

    :root {
        --shell-red: #dd1d21;
       --shell-yellow: #fbce07;
        --shell-dark-grey: #404040;
    }

    * {
        margin: 0;
        padding: 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }


    body {
        font-family: 'Arial', sans-serif;
        color: var(--shell-dark-grey);

/*
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
         -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
*/

    }


/* Chrome 
  -ms-overflow-style:none;
  scrollbar-width:none;

body::-webkit-scrollbar{
width : 0px;
} */

    .main-container {
        max-width: 650px;
        width: 100%;
        background: #fff;
        margin: 1rem auto 0 auto;
        overflow: hidden;
        text-align: center;
        -webkit-transition: height 0.7s ease;
        -o-transition: height 0.7s ease;
        transition: height 0.7s ease;
        z-index: 10;
        font-family: Arial;
        margin-top: 2rem;
    }



    /* PROGRESS BAR */

    .step-row {
        width: 100%;
        height: 50px;
        margin: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        /* -webkit-box-shadow: 0 -1px 5px -1px #000;
                box-shadow: 0 -1px 5px -1px #000; */
        position: relative;
    }

    .step-column {
        z-index: 1;
    }

    small {
        color: var(--shell-dark-grey);
        -webkit-transition: 0.6s ease;
        -o-transition: 0.6s ease;
        transition: 0.6s ease;
        font-size: 14px;
    }

    .step1 {
        color: #fff;
    }


    #progressBar {
        position: absolute;
        left: 0;
        height: 100%;
        width: 25%;
    background: var(--shell-red);
        /* background: -webkit-gradient(linear, left top, right top, from(var(--shell-red)), to(var(--shell-yellow)));
       background: -o-linear-gradient(left, var(--shell-red), var(--shell-yellow));
        background: linear-gradient(to right, var(--shell-red), var(--shell-yellow)); */
        -webkit-transition: width 0.5s ease;
        -o-transition: width 0.5s ease;
        transition: width 0.5s ease;
    }

    #progressBar::after {
        content: '';
        height: 0;
        width: 0;
        border-top: 25px solid transparent;
        border-bottom: 25px solid transparent;
        position: absolute;
        right: -20px;
        top: 0;
    border-left: 20px solid var(--shell-red);
        /* border-left: 20px solid var(--shell-yellow); */
    }





    /* BUTTONS */

    .button-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 30px;
        margin: 1rem 2rem;
   }

    button, input[type=submit] {
        font-weight: bold;
        font-size: 16px;
        width: 200px;
        padding: 1rem;
        border: 1px solid transparent;
        -webkit-transition: background-color .15s ease-in, color .15s ease-in;
       -o-transition: background-color .15s ease-in, color .15s ease-in;
        transition: background-color .15s ease-in, color .15s ease-in;
        cursor: pointer;
    }

    .back {
        background-color: var(--shell-red);
        color: #fff;
        border: 1px solid var(--shell-red)
    }

    .next {
        background-color: var(--shell-yellow);
       color: var(--shell-dark-grey);
    }

    .back:hover,
    .back:focus {
        background-color: #fff;
        color: var(--shell-red);
        outline: none;
    }

    .next:hover,
    .next:focus {
        background-color: var(--shell-dark-grey);
        color: var(--shell-yellow);
        outline: none;
    }





    /*TOP-LEVEL FORM*/

    .form-container {
        overflow: hidden;
        margin: 0 20px;

    }

    form {
        /* display: flex;
        width: 400%; */
    }

    .form-part {
        /* width: 25%; */
        padding: 0 5px;
        -webkit-transition: 0.8s ease;
        -o-transition: 0.8s ease;
        transition: 0.8s ease;
    }

    h1, h2, h3 {
        text-align: center;
    }

    h1, .main-heading {
        text-transform: uppercase;
        font-weight: bold;
        padding-bottom: 5px;
        border-bottom: 4px solid var(--shell-yellow);
        display: inline-block;
        margin-bottom: 2rem;
        color: inherit;
    }

    h2, h3 {
        margin-bottom: 1.5rem;
    }

    h2 {
        font-size:22px;
    }

    h3 {
        font-size: 16px;
    }

    p {
        color:var(--shell-red);
        font-size: 12px;
        font-weight: bold;
        margin-top: 10px;
        opacity: 0;
        text-align: left;
    }

    label, legend {
       color: var(--shell-dark-grey);
        font-size: 12px;
        display: inline-block;
        margin-bottom: 8px;
        text-align: left;
    }


    .headers {
        margin: 2rem;
        margin-top: 1rem;
    }

    .headers > p {
        opacity: 1;
        text-align: center;
        margin: -1rem;
    }



    /* PERSONAL & COMPANY INFO */

    .input-container-personal_company {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 5px;
        text-align: left;
    }



    /* FLEET INFO */

    .input-container-fleet {
        display: -ms-grid;
        display: grid;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -ms-grid-columns: 30% 70%;
        grid-template-columns: 30% 70%;
    }


    .input-container-fleet h3 {
        display: inline-block;
        -ms-grid-column-span: 2;
        grid-column: span 2;
        padding: 2rem 0 0.3rem;
    }

    .input-container-fleet > img {
        width: 80%;
        margin: auto;
    }

    .fleet-selectors {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mileage-container {
        -ms-grid-column-span: 2;
        grid-column: span 2;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
       -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 10px;
    }

    .fleet-selectors label {
        text-align: left;
        font-size: 16px;
        margin-bottom: .5rem;
        font-size: 12px;
    }

    .input-container_products {
        display: -ms-grid;
        display: grid;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        grid-gap: 30px;
        -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
        margin: auto;
    }


    .input-container-personal_company input[type='text'], .input-container-personal_company input[type='email'], .input-container-personal_company input[type='tel'], 
    .input-container-fleet input[type='text'], .input-container-fleet input[type='email'], .input-container-fleet input[type='tel'] {
        border: 1px solid var(--shell-dark-grey);
        padding: .7rem .5rem;
        width: 100%;
        color: var(--shell-dark-grey);
    }

   .input-text:hover,
   .input-text:focus, select:hover, select:focus {
        outline: none;
        border: 1px solid rgb(51,99,160); 
        /* -webkit-appearance: none; */
        box-shadow: 0px 0px 5px 3px rgb(51,99,160);
      -webkit-box-shadow: 0px 0px 5px 3px rgba(51, 99, 160, 1);
        /* -webkit-box-shadow: 0px 0px 5px 3px rgba(251,206,7,0.25);
        box-shadow: 0px 0px 5px 3px rgba(251,206,7,0.5); */
    }
    

    /* PRODUCT INFO */

    .product-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
    }

    .product-container small {
        font-size: 12px;
        margin: 0 auto;
    }


    .label-container {
        position: relative;
        cursor: pointer;
        margin: auto;
        width: 100px;
        height: 80px;
        border-radius: 10px;
        -webkit-transition: -webkit-box-shadow 0.2s ease;
        transition: -webkit-box-shadow 0.2s ease;
        -o-transition: box-shadow 0.2s ease;
        transition: box-shadow 0.2s ease;
        transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;

            -webkit-box-shadow: -2px -2px 5px rgba(255, 255, 255, 1), 3px 3px 5px rgba(0, 0, 0, 0.3);
                box-shadow: -2px -2px 5px rgba(255, 255, 255, 1), 3px 3px 5px rgba(0, 0, 0, 0.3);
    }

    .label-container:hover, .label-container:focus {
        box-shadow: 0px 0px 5px 3px rgb(51,99,160);
      -webkit-box-shadow: 0px 0px 5px 3px rgba(51, 99, 160, 1);
    }

    .product-container > input:focus ~ .label-container {
        box-shadow: 0px 0px 5px 3px rgb(51,99,160);
      -webkit-box-shadow: 0px 0px 5px 3px rgba(51, 99, 160, 1);
    }




    /* CUSTOM CHECKBOX FOR PRODUCTS */

    /* Hide the browser's default checkbox */
    .product-container input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
      }



      /* Custom checkbox */
    .product-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100px;
        height: 80px;

        border-radius: 10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
      }


      /* Checked States */
    .product-container input:checked ~ label {
        -webkit-box-shadow: inset -2px -2px 5px rgba(255, 255, 255, 1), inset 3px 3px 5px rgba(0, 0, 0, 0.3);
                box-shadow: inset -2px -2px 5px rgba(255, 255, 255, 1), inset 3px 3px 5px rgba(0, 0, 0, 0.3);
        background: var(--shell-yellow);
      }

    .product-container input:checked ~ label .product-image > img {
        -webkit-transform: scale(0.95);
            -ms-transform: scale(0.95);
                transform: scale(0.95);
      }

      .product-image img {
          width: 100%;
      }




    /*----TERMS----*/


    .terms-container {
        border-top: 3px solid var(--shell-yellow);
        margin-top: 0.5rem;
        margin-bottom: 20px;
    }

    .marketingComms-container {
        margin-bottom: 0;
        margin-top: 1.5rem;
    }



    .terms-container > div > label > p {
        margin-top: 5px;
        font-size: 10px;
    }


    /* CUSTOM CHECKBOX FOR TERMS */

    /* Customize the label (the checkbox) */
    .terms-container div label {
        display: block;
        position: relative;
        padding-left: 25px;
        margin-bottom: 5px;
        cursor: pointer;
        font-size: 12px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
      }

      /* Hide the browser's default checkbox */
      .terms-container div label input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
      }

      /* Create a custom checkbox */
      .checkmark {
        position: absolute;
        top: -2px;
        left: 0;
        height: 18px;
        width: 18px;
    outline: 1px solid #595959;
      /* background-color: #7f7f7f; /*
        /* background-color: #eee; */
      }

      /* On mouse-over, add a grey background color */
      .privacy-container label:hover input ~ .checkmark,  
      .privacy-container label input:focus ~ .checkmark,
      .marketingComms-container label:hover input ~ .checkmark,  
      .marketingComms-container label input:focus ~ .checkmark{
       outline: 2px solid var(--shell-yellow);
       background-color: var(--shell-dark-grey);
      }


      /* When the checkbox is checked, add a yellow background */
      .terms-container div input:checked ~ .checkmark {
        background-color: var(--shell-yellow);
      }

      /* Create the check/indicator (hidden when not checked) */
      .checkmark:after {
        content: "";
        position: absolute;
        display: none;
      }

      /* Show the check when checked */
      .terms-container div input:checked ~ .checkmark:after {
        display: block;
      }

      /* Style the check/indicator */
      .terms-container div label .checkmark:after {
        top: 1px;
        left: 6px;
        width: 5px;
        height: 10px;
        border: solid var(--shell-dark-grey);
        border-width: 0 2px 2px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
      }




      /* ERROR STYLES */

    .mandatory {
        color: var(--shell-red);
    }

    .error_message {
        font-size: 12px;
        color: var(--shell-red);
        opacity: 1;
        -webkit-transition: opacity 0.7s ease-in;
        -o-transition: opacity 0.7s ease-in;
        transition: opacity 0.7s ease-in;
    }

    .error_hide {
        display: none;
    }

    .error_border {
        border: 1px solid rgba(221,29,21,0.5 ) !important;
        -webkit-appearance: none;
        -webkit-box-shadow: 0px 0px 5px 3px rgba(221,29,21,0.5 );
        box-shadow: 0px 0px 5px 3px rgba(221,29,21,0.5);
        -webkit-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
        transition: all 0.4s ease;
    }




    /* MEDIA QUERIES */ 

    @media only screen and (max-height: 823px) {

        body {
            height: 100%;
        }

    }

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

        .button-container {
            gap: 15px;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

        .input-container_products {
            grid-gap: 10px;
            -ms-grid-columns: 1fr 10px 1fr;
            grid-template-columns: repeat(2, 1fr);
        }

        .step-row {
            height: 40px;
        }

        #progressBar::after {
            content: '';
            height: 0;
            width: 0;
            border-top: 20px solid transparent;
            border-bottom: 20px solid transparent;
            position: absolute;
            right: -15px;
            top: 0;
            border-left: 15px solid var(--shell-red);
        }

      }

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

        /* .main-container {
            height: 830px;
        } */

        .privacy-container,
        .marketingComms-container {
            margin-left: 0;
            margin-right: 0; 
        }

        h1, .main-heading {
            font-size: 22px;
        }
        h2 {
            font-size:16px;
        }

        h3 {
            font-size: 14px;
        }

        small {
            font-size: 12px;
        }

      }
      select {
        border: 1px solid var(--shell-dark-grey);
        width: 100%;
        color: var(--shell-dark-grey);
        padding: 0.7rem 0.5rem;
      }

      .d-flex {
          display: flex;
          justify-content: space-between;
      }

      .radio-label {
          margin-bottom: 0px;
      }
      .flex-div {
          width: 49%;
      }

      .thank-you-img {
        margin-top: 20px;
        margin-bottom: 20px;
      }
      .thank-you-text {
        opacity: 1;
        color: var(--shell-dark-grey);
        font-size: 14px;
        font-weight: normal;
        text-align: center;
      }

   .data-privacy-text {
       color: var(--shell-dark-grey);
        font-size: 12px;
        display: block;
        margin-bottom: 8px;
        text-align: left;
    margin-left: 25px;
    }
.ml-25 {
margin-left: 25px;
}

#thank_you_page {
 margin-left: 10px;
margin-right: 10px;
}

.privacy-policy-link:hover {
    color: var(--shell-red);
  }
fieldset {
      border: none;
    }