body,
html {
  font-family: "Gil", sans-serif;
  font-size: 1.0em;
}

input,
select,
option,
textarea,
button {
  font-size: 1.0em !important;
}

/* add in font from ../fonts/Gil-Regular.ttf I also have bold and italic */
@font-face {
  font-family: 'Gil';
  src: url('../fonts/Gil-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Gil';
  src: url('../fonts/Gil-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Gil';
  src: url('../fonts/Gil-Italic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}

.spinner {
  animation: rotate 2s linear infinite;
}

.spinner .path {
  stroke: #3498db;
  /* Change color as needed */
  stroke-linecap: round;
  animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
  100% {
      transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
      stroke-dasharray: 1, 150;
      stroke-dashoffset: 0;
  }

  50% {
      stroke-dasharray: 90, 150;
      stroke-dashoffset: -35;
  }

  100% {
      stroke-dasharray: 90, 150;
      stroke-dashoffset: -124;
  }
}
#post-9004111222082252 .container {
  max-width: 100%;
}
/* Elementor Compatibility Styles */
.wlsignup-container {
  isolation: isolate;
  position: relative;
  z-index: 1;
  all: initial;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  width: 1300px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

.wlsignup-container * {
  box-sizing: border-box;
}
.card .card-body{
  padding: 0;
  padding-right: 10px;
}

.wlsignup-container .container,
.wlsignup-container .container-fluid {
  max-width: none !important;
  padding-left: 15px;
  padding-right: 15px;
}

.wlsignup-container .row {
  margin-left: -15px;
  margin-right: -15px;
}

.wlsignup-container .col,
.wlsignup-container [class*="col-"] {
  padding-left: 15px;
  padding-right: 15px;
}

/* Ensure Elementor admin interface is not affected */
.elementor-editor-active .wlsignup-container {
  display: none !important;
}

/* Show content only in frontend */
.elementor-editor-active .wlsignup-container::before {
  content: "WLSignup Form - Preview not available in editor";
  display: block;
  padding: 20px;
  background: #f0f0f0;
  border: 1px dashed #ccc;
  text-align: center;
  color: #666;
}
.card .card-header{
font-size: 32px;
line-height: 50px;
margin-bottom: 20px;
padding: 0;
}
.nbn-order-summary {
background: #ccf3fd;
padding: 20px;
margin: 20px auto;
border-radius: 5px;
width: 30%;
display: inline-block;
vertical-align: top;
border-radius: 10px;
}
.nbn-order-summary h4{
font-size: 30px !important;
margin-bottom: 20px;
}
.form-group label{font-weight: 600;font-size: 17px;}
.form-group input, .form-group select{
border: 2px solid #D9D9D9;
background: #F5F5F6;
height: 50px;
}
.sub-form-group {display: inline-block;vertical-align: bottom;width: 41%;}
.sub-form-group label{font-weight: 400;font-size: 15px;}
.back-btn{border: 2px solid #C6C6C6;background: #ECECEC;border-radius: 8px;font-weight: 600;font-size: 20px !important; margin-right: 10px;}
.next-btn{border: 2px solid #00c2f3;border-radius: 8px;font-weight: 600;font-size: 20px !important; margin-right: 15px;}
.check-slot-btn{border: 0;border-radius: 8px;font-weight: 600;font-size: 20px !important; color: #fff;background: #057805;}
#appointment_slots_result{width: 100%;}
.slot-card{border-color: #00C2F3;}
.slot-heading{background: #00C2F3; padding: 15px; border-radius: 3px 3px 0 0; font-size: 23px; font-weight: 600;color: #ffffff;}
.form-group .form-check{padding-left: 1.75rem;}
.form-group .form-check-input {
  width: 20px; 
  height: 20px; 
  border-radius: 50%; 
  margin-top: 2px; 
  margin-left: 0; 
  left: 0;
  cursor: pointer;
  z-index: 10;
  pointer-events: auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 2px solid #6c757d;
  background-color: #fff;
}

.form-group .form-check-input:hover {
  border-color: #00c2f3;
  background-color: #f8f9fa;
}

.form-group .form-check-input:checked {
  background-color: #00c2f3;
  border-color: #00c2f3;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 8px 8px;
}

.form-group .form-check-input:focus {
  outline: 2px solid #00c2f3;
  outline-offset: 2px;
}

/* Ensure it's clickable */
.form-group .form-check-input:not(:disabled) {
  cursor: pointer;
}
.form-group .form-check-label{font-weight: 400;}
.hint{font-size: 14px;}
.slot-note{font-size: 14px; font-style: italic; color: #00C2F3;}
.form-container{
width: 69%;
display: inline-block;
vertical-align: top;
}
.summary_table{
  width: 100%;
  border-collapse: collapse;
  font-size: 18px;
}
.summary_label{
  width: 45%;
  padding: 4px;
  font-weight: bold;
  vertical-align: top;
}
.summary_value{
  width: 55%;
  padding: 4px;
  vertical-align: top;
}
/* address SQ css */
/* Layout */
.ipnd_address_search{
width: 100%;
font-family:Gilroy;
max-width: 100%;
font-size: 16px;
}
.form-text,
.form-submit{
display: inline-block;
vertical-align: top;
}
/* Lookup Form */
.ipnd_address_search {
margin: 20px auto;
padding: 15px 15px;
}
.ipnd_address_search .form-top{
width: 25%;
}
.ipnd_address_search .physical-address-fields{
margin-top: 10px;
width: 100%;
}
.ipnd_address_search .physical-address-fields label{
display: block;
margin: 0;
line-height: 26px;
font-size: 15px;
}
.ipnd_address_search .paf-1, .ipnd_address_search .paf-2{
display: inline-block;
vertical-align: top;
width: 100%;
}
.ipnd_address_search .form-select {
position: relative;
line-height: 50px;
}
.ipnd_address_search .form-select::after, .physical-address-fields .arrow {
content: "";
background: #00C2F3;
width: 18px;
aspect-ratio: 1/cos(30deg);
clip-path: polygon(50% 100%,100% 0,0 0);
height: 10px;
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
z-index: 2;
}
.physical-address-fields .arrow {
top: 50%;
}
.ipnd_address_search .physical-address-fields .form-select::after{
display: none;
}
.ipnd_address_search .form-select select {
font-family:Gilroy;
padding: 0 10px;
width: 100%;
border: 2px solid #2f5578;
border-radius: 12px;
height: 52px;
font-size: 16px;
background: #f7f7f7;
}
.ipnd_address_search .form-text{
width: 100%;
display: inline-block;
vertical-align: top;
}
.ipnd_address_search .form-text input{
width: 76.5%;
padding: 0 10px;
border: 2px solid #2f5578;
border-radius: 12px;
line-height: 48px;
font-family:Gilroy;
font-size: 16px;
background: #f7f7f7;
color: #272727;
}

/* Placeholder text styling */
.ipnd_address_search .form-text input::placeholder,
.ipnd_address_search .form-text input::-webkit-input-placeholder,
.ipnd_address_search .form-text input::-moz-placeholder,
.ipnd_address_search .form-text input:-ms-input-placeholder,
.ipnd_address_search .form-text input:-moz-placeholder {
font-style: italic;
}

/* Submit */
.ipnd_address_search .form-text .form-submit {
background: #0073aa;
border: none;
border-radius: 12px;
color: #fff;
display: inline-block;
vertical-align: top;
line-height: 50px;
font-family:Gilroy;
font-weight: 600;
padding: 0 10px;
}
.ipnd_address_search .form-submit:hover {
background: #00C2F3;
}
.ipnd_address_search #location-id-field .form-submit {
width: 23%;
}
/* Address Search Container */
.address-search-container {
position: relative;
display: inline-block;
width: 100%;
}

.ipnd_address_search #address-field input {
width: 100%;
padding-right: 40px; /* Make room for clear button */
}

/* Clear Search Button */
.clear-search-btn {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: #00c2f3;
color: white;
border: none;
border-radius: 50%;
width: 30px;
height: 30px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s ease;
z-index: 10;
}
.clear-search-btn:hover {
background: #b8140a;
transform: translateY(-50%) scale(1.1);
}
.clear-search-btn:active {
transform: translateY(-50%) scale(0.95);
}
.ipnd_address_search #address-field .form-submit {
width: 17%;
margin-top: 27px;
}
.fibre-action{
  margin-top:20px;
}
.fibre-terms-container .heading{
  font-weight: 600;
  font-size: 18px;
  margin-top: 20px;
}
#fibreUpgrade, #shippingATL, #transferAuth{
  -webkit-appearance: checkbox;
  appearance: checkbox;
  width: 15px;
  height: 15px;
}
.input-mb{margin-bottom: 10px;}
.show-help{margin-top: 4px; display: inline-block; vertical-align: middle;}
.show-help:hover{color: #2f5578; text-decoration: underline;}

/* responsive css */
@media only screen and (max-width: 1320px) {
  .wlsignup-container {
    width: 100%;
  }
  .wlsignup-container .container,
  .wlsignup-container .container-fluid {
   padding: 0;
  }
  .wlsignup-container .row {
    margin: 0 auto;
  }
  .wlsignup-container .col,
  .wlsignup-container [class*="col-"] {
    padding: 5px;
  }
  .form-container{
    width: 64%;
  }
  .nbn-order-summary {
    width: 35%;
  }
}

@media only screen and (max-width: 1180px) {
  .form-container, .nbn-order-summary {
    width: 100%;
    display: block;
  }
}

@media only screen and (max-width: 770px) {
  .form-container {
      margin-top: 0 !important;
      width: 100% !important;
  }
  .card .card-header{
    font-size: 30px;
    line-height: 35px;
  }
  .card .card-body h3{
    font-size: 23px;
    line-height: 28px;
  }
}