.fontalt {
    font-family: verdana, arial, sans-serif;
}
.renew-container {
  border: 2px solid darkred;
  padding: 16px;
  position: relative;
  margin-top: 30px;
  margin-left:-15px;
  margin-right:-15px;
}
@media (min-width: 600px) { .renew-container { margin-left:auto; margin-right:auto; }  padding:20px; }
.renew-container>ul {
  Xpadding-inline-start: 0px;
  list-style-type: none;
  list-style-position: outside;
  padding-inline-start: 0px;
  padding-left: 0px;
  margin-top:24px;
}
.renew-container>ul>li {line-height:1.5; Xline-height:2.0;}

.renew-header {
  position: absolute;
  top: -15px;
  left: 15px;
  background-color: darkred;
  color: white;
  padding: 5px 15px;
  font-size: 16px;
}

.renew-message {
  margin-top: 20px;
}
.renew-error {
   text-align:center;
   margin-top:40px;
   margin-bottom:50px;
   line-height:1.9;
   font-size:16px;
   font-weight:200;
}

.renew-submit {
  background-color: darkgreen;
  border-color: darkgreen;
  color: white;
  font-weight: bold;
  margin-bottom:10px;
}

.renew-submit:hover {
  background-color: #228B22;
  border-color: #228B22;
  color: white;
  text-decoration: none;
}

.renew-container ul li {
  margin-bottom: 20px;
  Xlist-style: disc inside;
}

/* tooltip mods */
.tooltip-inner {
  background-color: #fff;
  color: #222;
  border: 1px solid #ccc;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  padding: 6px 10px;
  font-size: 13px;
  font-weight: normal;
  border-radius: 4px;
  max-width: 240px;
}

.tooltip.top .tooltip-arrow {
  border-top-color: #ccc;
}

.tooltip.right .tooltip-arrow {
  border-right-color: #ccc;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #ccc;
}

.tooltip.left .tooltip-arrow {
  border-left-color: #ccc;
}


/* terms of service box */
.tos-label { margin-left: 35px; margin-top:5px; font-weight:500; }
.tos-label:hover { color: #003366; }
.openTOS { text-decoration:underline!important;}

.tos-box {
  border: 2px solid #337ab7;
  background-color: #f5faff;
  padding: 15px 20px;
  border-radius: 6px;
  max-width: 420px;
  margin: 30px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tos-amount {
  font-size: 20px;
  margin-right: 15px;
}

.tos-checkbox {
  width: 22px;
  height: 22px;
  margin-top:-2px!important;
  border: 2px solid darkgreen;
  background-color: white;
  vertical-align: middle;
  display: inline-block;
  margin-right: 10px;
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.tos-checkbox::after {
  content: "";
  position: absolute;
}

.tos-checkbox.checked::after {
  content: "\2713"; /* checkmark */
  font-size: 18px;
  color: darkgreen;
  top: -3px;
  left: 3px;
}

.tos-status {
  font-size: 14px;
  display: none; /* hidden until set */
}

.tos-status.agreed {
  color: darkgreen;
  display: block;
}
@media (min-width: 700px) { .tos-status.agreed { display: inline; } }

.tos-status.disagreed {
  color: darkred;
  display: inline;
}

input[type=file]:focus, input[type=checkbox]:focus, input[type=radio]:focus {
    outline: 0px auto;
    outline-offset: 0px;
}
.yello-icon { color: #f2ac00; }
.fa { font-size:22px; padding-right:6px; }
.renewoption {margin-left:8px;}

.fee { display:block; line-height:1.5; margin-left:35px; }
@media (min-width: 700px) { .fee { width:27%; display:inline-block; float: right; line-height:1.5; } }

@media (min-width: 600px) { .fee { width: 55% } }
@media (min-width: 768px) { .fee { width: 55% } }
@media (min-width: 992px) { .fee { width: 60% } }
@media (min-width: 1200px) { .fee { width: 60% } }

.darkredtext { color:darkred; }

.basecamp-features { margin-left:5px; margin-top:10px; margin-bottonm:10px; line-height:1.5; }
.basecamp-features ul li { line-height:1.4; margin-bottom: 5px; }
.basecamp-features ul li .fa-check { padding:0; padding-left:3px; font-size: 14px; }

.modal-body p b {
  font-size: 15px;
  color: #333;
}
.modal-body p {
  margin-bottom: 12px;
}

.tall-modal {
  max-width: 800px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.tall-modal .modal-content {
  max-height: 90vh;
  overflow-y: auto;
}

/* Inner scrollable TOS content box */
.tos-scrollbox {
  max-height: 65vh;
  overflow-y: auto;
  border: 1px solid #ccc;
  padding: 10px;
  background: #f9f9f9;
}

.modal-branding {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 1px;
  color: white;
  opacity: 0.7;
  pointer-events: none;
}

/* Modal Header Styling */
.modal-header-pro {
  background-color: darkred;
  color: white;
  position: relative;
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}

/* Modal Title */
.modal-header-pro h4 {
  margin: 0;
  font-size: 18px;
  margin-right: 60px; /* for close button */
}

/* Subtitle under title */
.modal-subtitle {
  font-size: 12px;
  margin-top: 5px;
}

/* Close button styling (the x) */
.modal-header-pro .close {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 26px;
  color: white;
  opacity: 1;
  text-shadow: none;
}

.modal-header-pro .close:hover {
  color: #ccc;
  background: rgba(255,255,255,0.1);
  border-radius: 3px;
}

/* PRO badge floating (for desktop/tablet) */
.pro-floating-badge {
  position: absolute;
  top: 15px;
  right: 60px;
  font-weight: bold;
  font-size: 20px;
  color: white;
}

/* PRO inline badge (for mobile only) */
.pro-inline-badge {
  font-size: 16px;
  font-weight: normal;
  color: white;
}

/* Section Titles */
.tos-section-title {
  font-weight: bold;
  font-size: 15px;
  margin-top: 15px;
}

/* Indented bullets under "What You Get" */
.tos-indent {
  display: block;
  margin-left: 15px;
  margin-bottom: 0px;
}

/* Scrollable Modal Body */
.modal-body-scrollable {
  overflow-y: auto;
  padding: 15px;
  background: #f9f9f9;
  max-height:67vh;
  max-height:485px;
}

/* Responsive adjustments for mobile */
@media (max-width: 480px) {
  .pro-floating-badge {
    display: none;
  }

  .pro-inline-badge {
    display: inline;
  }

  .modal-header-pro h4 {
    font-size: 17px;
    margin-right: 30px;
  }

  .modal-subtitle {
    font-size: 13px;
    display: block;
    margin-top: 3px;
  }
}

@media (min-width: 481px) {
  .modal-header-pro h4 {
    font-size: 20px;
  }
  .modal-subtitle {
    margin-top:2px;
    font-size: 14px;
  }
  .pro-floating-badge {
    display: block;
  }

  .pro-inline-badge {
    font-size: 20px;
  }

  .pro-inline-badge {
    display: none;
  }
}

/* Modal footer button spacing */
.modal-footer .btn {
  min-width: 90px;
  margin: 2px;
}

.modal-body b {
  Xfont-weight: 500; /* instead of 700 */
}

@media (min-width: 500px) {
    .modal-body>ul>li {
        width: auto;
        display: default;
    }
}
@media (min-width: 768px) {
    .modal-body>ul>li { width:auto; display:default }
}

.plan { background-color: #f3f3f3; border-radius: 6px; padding: 12px; }
.planlinepro { height:50px; }

#paypal-button-container {
    width: 340px;
    min-height: 280px;
}

.saveonbundle { margin-left:35px; }

.showmobile { display:block; }
.showdesktop { display:none; }
.showdesktop1 { display:none; }
@media (min-width: 700px) {
   .showmobile { display:none; }
   .showdesktop { display:inline; }
   .showdesktop1 { display:block; }
}
.indent { margin-left:10px; }
.indentmore { margin-left:35px; }

.savenotes { margin-left:35px; font-size: .8em; }
.btn-lg { font-size: 14px; }
@media (min-width: 500px) { .btn-lg { font-size: 16px; } }

.login-container {
  text-align: center;
  margin-top: 40px;
}

.login-button {
  display: inline-block;
  padding: 5px 10px;
  font-size:14px;
  letter-spacing:1px;
  background-color: #006400; /* dark green */
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.login-button:hover {
  background-color: #004c00; /* darker on hover */
  color: #ffffff;
}
#considerpro { margin-top:15px; }

#laststep { max-width:350px; margin:auto; font-size:16px; }
#laststep>a.boldlink { text-decoration:underline!important; font-size:16px; }
@media (min-width: 730px) {  #laststep { max-width:600px; } }

a.boldlink:hover { text-decoration:underline!important; }
