*{
    padding: 0;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .checkbox-container {
      margin-bottom: 20px; /* Adjust this value as per your requirement */
  }
  
  .loading-text {
      display: flex;
      justify-content: center;
      align-items: center;
      /* Adjust this value if needed */
  }
  
  .d-flex{
  display: flex;
  }
  #weight_value, #length_value, #width_value, #height_value {
      border: none;
      border-radius: 16px;
      height: 42px;
      text-align: center;
  }
  
  #weight_value, #length_value, #width_value, #height_value {
      background-color: #000000;
      margin-left: 12px;
      width: 75px;
  }
  slider {
      -webkit-appearance: none;
      width: 100%;
      height: 8px;
      background: #3B525A;
      border-radius: 20px;
      outline: none;
      opacity: 0.7;
      -webkit-transition: .2s;
      transition: opacity .2s;
  }
  
  .img#countryFlag {
      max-width: 91px;
      border-radius: 12px;
  }
  .flag{
  width: 50px}
  html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
  }
  
  
  :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  
  .ship_container{
    width: 450px;
    margin: 40px auto;
    background: #f3f3f6;
    /*border: solid 1px #d7d7d7;*/
    padding: 20px;
    border-radius: 6px;
    /*box-shadow: 0px 1px 20px #0000003D;*/
    border-radius: 10px;
  }
  
  .ship_container h1{
    text-align: center;
    margin-bottom: 20px;
  }
  .ship_container_title {
    display: block ;
    font-size: 2em ;
    margin-block-start: 0.67em ;
    margin-block-end: 0.67em ;
    margin-inline-start: 0px ;
    margin-inline-end: 0px ;
    font-weight: bold ;
  }
  .ship_container label {
    font-weight: 500;
    font-size: 14px;
    display: block;
    color: #000000;
    opacity: 70%
  }
  .form-group.d-flex.full_width {
      justify-content: center;
  }
  
  table{
      border: none;
	  font-family: 'Paypal Open TT';
      color: #06205F;
  }

  /* Ensure rate tables never overflow their container */
  .comparison-table{
    width: 100%;
    border-collapse: collapse;
  }
  td{
      border: none;
  }
  th{
  border: none;	
  }
  .ship_container label sub{
    display: inline-block;
    vertical-align: top;
    color: #979797;
    margin-left: 4px;
    font-size: 10px;
    margin-top: 3px;
  }
  
  .ship_container .form-control {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
    outline: none !important;
    padding: 3px 0px;
    font-size: 15px;
    width: 100%;
    border-color: #b8b8b8;
    border-width: 1px;
    height: 40px;
  }
  .email-form .form-control {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
    outline: none !important;
    padding: 3px 0px; 
    font-size: 15px;
    width: 100%;
    border-color: #b8b8b8;
    border-width: 1px;
    height: 40px;
  }
  .ship_container .form-group{
    margin-bottom: 10px;
    padding: 10px;
  }
  .select2-search{
    font-size: 15px;
  }
  .select2-results{
    font-size: 15px;
  }
  .btn_submit{
    /*background: transparent radial-gradient(closest-side at 50% 50%, #21DCC4 0%, #0BBAA3 100%) 0% 0% no-repeat padding-box;*/
    border: none;
    padding: 10px;
    color: #fff;
    min-width: 100px;
    cursor: pointer;
    background: #01A36C;
    border-radius: 129px;
    font-size: 18px;
  }
  .custom_css .btn_submit:hover,
  .custom_css .btn_submit:active {
    color: #ffffff;
      background-color: #06205F;
      border-color: #06205F;
  }
  .ship-btn {
   background-color: #01A36C;
    color: white;
    border: none;
    padding: 7px 10px;
    cursor: pointer;
    border-radius: 140px;
    width: 102px; 
    text-align: center; 
      margin-left:30px;
	 margin-top: 10px !important;
  }
  
  
  .select2-container .select2-choice > .select2-chosen {
      margin-top: 5px;
  }
  
  .clearfix::after{
    display: table;
    content: " ";
    clear: both;
  }
  
  .clearfix::before{
    display: table;
    content: " ";
  }
  
  .div_80{
    float: left;
    width: 80%;
  }
  
  .div_50{
    display: flex;
    width: 100%;
  }
  .div_30{
    float: left;
    width: 30%;
  }
  
  .div_20{
    float: left;
    width: 20%;
  }
  
  .full_width{
    width: 100%;
    float: left;
  }
  
  .same_field{
    width: 33.33%;
    float: left;
    padding: 0 5px;
  }
  
  #result_modal{
  }
  
  .ship_container.custom_css.clearfix h2 {
      font-size: 23px !important;
      color: #06205F !important;
      text-align: center;
      margin-bottom: 10px;
  }
  
  .ship_container.custom_css.clearfix label {
      display: inline-block;
      color: #06205F !important;
  }
  .modal_container{
       /*position: fixed;
    top: 0;
    left: 0;
    /*z-index: 1060;*/
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
      background: #F3F3F6;
    /*z-index: 9999999999999999;*/
  }
  
  
  .modal_main{
    display: flex;
    align-items: center;
    min-height: calc(100% - 1rem);
  }
  
  .modal_container .modal-content{
    margin: 1.75rem auto;
    align-items: center;
    position: relative;
   border-radius: 10px;
    padding: 22px;
    background-color: #fff;
    background-clip: padding-box;
   /* border: 1px solid rgba(0,0,0,.2);*/
    width: 80%;
  }
  
  .modal_container #result_container{
    margin-top: 25px;
  }
  
  .close_model{
    float: right;
    cursor: pointer;
    position: relative;
  }
  
  .modal_container table{
    width: 100%;
  }
  
  .modal_container table a{
    text-decoration: none;
    display: block;
  }
  
  
  .col_1{
    width: 30%;
  }
  .tag {
    font-size: 12px;
    color: white;
    padding: 6px 5px;
    border-radius: 3px;
    margin-left: 60px;
    margin-bottom: 50px;
  }
  
  .cheapest {
    background-color: #01A36C;
  }
   /* Style the progress element */
    progress {
      width: 187px;
      height: 18px;
      border-radius: 30px;
      background-color: #F3F3F6;
      overflow: hidden;
    }
   /* Style the value of the progress bar */
    progress::-webkit-progress-bar {
      background-color: #F3F3F6;
      border-radius: 30px;
    }
  
    progress::-webkit-progress-value {
      background-color: green;
      border-radius: 30px;
    }
  
    progress::-moz-progress-bar {
      background-color: green;
      border-radius: 30px;
    }
  
  
  .col_2{
    width: 25%;
  }
  
  .col_3{
    width: 15%;
  }
  
  .col_4{
    width: 30%;
    font-weight:bold;
  }
  
  .text-center {
    text-align: center;
  }
  
  .text-right {
    text-align: right;
  }



@media (max-width:768px){
      .col_1{
      width:30%;
      }
  }
  @media (max-width:768px) {
    .modal_container .modal-content{
        width: 90%;
     padding: 22px 10px;
		 overflow-x: auto;
        overflow-y: auto;
        max-height: 80vh; 
        -webkit-overflow-scrolling: touch;
     }
    
  
    .ship_container{
        max-width: 95%;
    }
  
    .div_50 {
        width: 100%;
    }
  
    .div_20 {
        width: 100%;
    }
  
    .div_80{
        width: 100%;
    }
  
  
    .col_1 img{
        width: 60px;
    }
  
    .col_2 {
        width: 30%;
    }
  
    .col_3 {
        width: 22%;
    }
  
    .col_4 {
        width: 30%;
    }
  
    .modal_container .modal-content  td{
        font-size: 13px;
        width: 20%;
    }
  
  
  }


    /*custom css by hasban*/
  .custom_css .form-group.div_50{
          background-color: #FFFFFF;
      border-radius: 6px;
  }
  
  .custom_css a.select2-choice{
          border: 0;
      height: 100%;
      background: none;
      text-decoration: none;
  }
  
  .custom_css .select2-arrow{
      background:none !important;
      border:none !important;
  }
  
  .custom_css .flag {
      width: 56px;
  }
  
  .custom_radio_button{
      float: left;
      width: 50%;
  }
  
  .custom_radio_button input{
      display: inline-block;
      vertical-align: middle;
          width: 1em;
      height: 1em;
      margin-top: 0.25em;
      background-color: #fff;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      border: 1px solid rgba(0,0,0,.25);
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      -webkit-print-color-adjust: exact;
      color-adjust: exact;
        /*  border: 2px solid #3B525A;*/
      border: 2px solid #06205F;
      box-shadow: none !important;
      border-radius: 50%;
  }
  
  .custom_radio_button input:checked[type="radio"]{
      /*background: #0BBAA3 !important;*/
      background: #01A36C !important;
      border: 2px solid #01A36C;
   }
  
  .custom_radio_button label{
      margin-top: 0;
      margin-left: 5px;
      display: inline-block;
      vertical-align: middle;
  }
  
  .slidecontainer {
  
  }
  
  .slider {
    -webkit-appearance: none;
    box-shadow:none!important;
    text-shadow:none;
    width: 100%;
    padding:0;
    height: 8px;
    border:none !important;
    background: #ffffff;
    border-radius: 20px;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
	  margin-left:8px;
	  margin-top: 10px
  }

  
  .home_one .slider::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    background: #000000 !important;
    outline:0;
    border:none;
  }
  
  .slider::-moz-range-thumb {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
  }
  
  .custom_css  .range__weight__disp{
      margin-top: -11px;
          background: #ffffff !important;
  }
  
  
  .custom_css  .btn_submit{
      background: #01A36C;
      border-radius: 129px;
      font-size: 16px;
      margin-top: 0px;
	  color: #fff;
      border: none;
	  width: 150px;
  }
  
  @media(max-width:500px){
  .custom_radio_button{
      float: none;
      width:100%;
  }
  }
table td, table th {
    vertical-align: middle !important;
}

table td, table th {
    background: #ffff !important;
    border: none;
}
form#requestShippingRateForm {
    color: #06205F !important;
    font-size: 18px !important;
}
.checkbox-container.checkbox.d-flex.align-items-center.shipping_agree {
    margin-top: 20px !important;
}
button.btn_submit {
	color: #06205F !important;
	border: 2px solid #06205F !important;
	border-radius: 40px !important;
}

/* New code by memoona*/


@media screen and (max-width: 768px) {
  .comparison-table tbody tr {
        display: flex;
        flex-direction: column;
        background: #fff;
        border-radius: 0px;
        border-bottom: 2px solid;
        border-bottom-color: #e9e9e9;
        padding: 20px 10px 30px 10px;
        gap: 1rem;
  }

  .comparison-table thead {
    display: none;
  }

  .comparison-table td {
    border: none;
    padding: 0;
  }

  .comparison-table .col_1,
  .comparison-table .col_2 {
    display: flex;
    align-items: center;
  }

  .comparison-table .col_1 {
    width: 50%;
    gap: 8px;
  }

  .comparison-table .col_1 img {
    max-height: 100%;
  }

  .comparison-table .col_1 div {
    font-size: 14px;
    font-weight: 500;
  }

  .comparison-table .col_2 {
    width: 50%;
    flex-direction: column;
    align-items: flex-start;
    font-size: 13px;
  }

  .comparison-table .col_2 progress {
    width: 90%;
    height: 8px;
    appearance: none;
    margin-bottom: 4px;
  }

  progress::-webkit-progress-bar {
    background-color: #eee;
    border-radius: 10px;
  }

  progress::-webkit-progress-value {
    background-color: #1dbf73;
    border-radius: 10px;
  }

  
  .comparison-table .row-1 {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }


  .comparison-table .col_3 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    font-size: 14px;
  }

  .comparison-table .col_3 img {
    height: 18px;
  }

  .comparison-table .col_4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
  }

  .comparison-table .col_4 .ship-btn {
    background-color: #01a36c;
    color: #fff;
    padding: 6px 16px;
    font-size: 12px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
	margin-top: 0px !important;
  }

.modal_container .modal-content {
        width: 90%;
        padding: 22px 20px;
}
.modal_container .modal-content td {
        font-size: 13px;
        width: 100%;
    }
}

/* Inline results view (replaces the modal UI) */
.rate-results-section{
  width: 100%;
  max-width: 450px; /* match the calculator card width */
  margin: 16px auto;
  background: #f3f3f6;
  padding: 20px;
  border-radius: 10px;
}

/* Keep large tables from blowing up the layout in a 2-column Elementor row */
.rate-results-section #result_container{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rate-results-section .comparison-table{
  width: 100%;
  min-width: 640px; /* enable horizontal scroll inside the card */
}

@media (max-width: 767px){
  .rate-results-section{
    max-width: 100%;
    padding: 14px;
  }
  .rate-results-section .comparison-table{
    min-width: 560px;
  }
}
.rate-results-header{
  display:flex;
  justify-content:flex-end;
  margin: 0 0 12px 0;
}
.rate-results-close{
  background: transparent;
  border: 1px solid #ddd;
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

.rate-step-message{
  background:#f7f7f9;
  border:1px solid #ececf0;
  padding: 14px 16px;
  border-radius: 12px;
  margin: 0 0 14px 0;
}
.rate-step-message .rate-step-sub{
  margin-top:6px;
  font-size: 14px;
  opacity: 0.9;
}

/* Disable state for the "Next" button until rates are ready */
#rate_email_next:disabled{
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.2);
}

