/* ==========================================================================
   CFF Overrides
   ========================================================================== */

/* ---- Layout wrappers ---- */

.group-1 {
  background: #f5f5f7;
  border-radius: 16px;
  padding: 1px 30px;
}

.box-style4,
.cal-box-style-4 {
  border-radius: 20px;
  box-shadow: 0 0 1px #A5A5A5;
  background: #E9E9E9;
  padding: 20px;
}

/* ---- Card blocks used by calculators ---- */

.comm-cal2,
.bal-cal-entry1,
.comm-cal-cp1,
.comm-cal-cp2,
.save-cal-fuel,
.save-cal-elec,
.tips,
.forms {
  border-radius: 16px;
  font-size: 16px;
  box-shadow: 0 0 15px #ccc;
  padding: 10px !important;
  background: #fff;
}

.bal-cal-entry1,
.comm-cal-cp1,
.comm-cal-cp2 {
  margin-bottom: 40px;
}

.tips { padding: 20px !important; }
.forms { padding: 10px 40px 0 20px !important; }

/* ---- Tip / status boxes ---- */

.bal-cal-tip1 {
  color: #2B435E;
  border-radius: 8px;
  font-size: 14px;
  background: #BBE08B;
  box-shadow: 0 0 5px #244804;
  padding: 10px !important;
  margin: 0 5px 3px 0;
}

.bal-cal-tip2,
.cal-cable-tip {
  color: #2B435E;
  border-radius: 8px;
  font-size: 14px;
  background: #FFDC2E;
  box-shadow: 0 0 3px #474747;
}

.bal-cal-tip2 {
  margin: 0 5px 5px 0;
  padding: 10px !important;
}

.bal-cal-tip3 {
  color: #2B435E;
  border-radius: 8px;
  font-size: 14px;
  background: #FFDC2E;
  box-shadow: 0 0 3px #FFAA2E;
  padding: 10px !important;
  margin: 0 5px 5px 0;
}

/* ---- Typography helpers ---- */

.cal-title {
  font-size: 16px;
  color: #2B435E;
  font-family: "Comfortaa", sans-serif;
}

.cal-heading-1 {
  font-size: 34px;
  color: #677e99;
  font-weight: 900;
  font-family: "Geologica", Helvetica, Arial, sans-serif;
  margin-bottom: 5px;
}

.cal-heading-2,
.cal-heading-3,
.cal-heading {
  color: #4F667D;
  font-weight: 700;
  font-family: "Geologica", Helvetica, Arial, sans-serif;
}

.cal-heading-2 { font-size: 20px; }
.cal-heading-3 { font-size: 18px; }
.cal-heading-4 { font-size: 16px; }

.cal-save { color: #68942F; }
.save-cal-loss,
.cal-loss { color: #bb0711; }

.note1,
.comm-cal-note1 {
  color: #5C6A7A;
  font-size: 14px;
}

/* ---- Known calculator forms (EN) ---- */

.cff-form-11,
.cff-form-23,
.cff-form-28 {
  --cg-text: #2B435E;
  --cg-muted: #5C6A7A;
  --cg-surface: #fff;
  --cg-surface-2: #F9F9F9;
  --cg-shadow: 0 0 15px #ccc;
  --cg-radius: 16px;
}

.cff-form-11 fieldset,
.cff-form-23 fieldset,
.cff-form-28 fieldset {
  border-radius: 20px;
  border: 7px solid #677e99 !important;
  box-shadow: 0 0 5px #94A0AE !important;
  background: #F9F9F9;
}

.cff-form-11 #fbuilder legend,
.cff-form-23 #fbuilder legend,
.cff-form-28 #fbuilder legend {
  border: 2px solid #5C6A7A;
  border-radius: 20px;
  padding: 5px 10px;
  background: #F9F9F9;
}

/* ---- Generic visible CFF field styling ---- */

.cff-form-11 #fbuilder .medium,
.cff-form-23 #fbuilder .medium,
.cff-form-28 #fbuilder .medium {
  width: 90% !important;
}

.cff-form-11 .center,
.cff-form-11 .center .dfield,
.cff-form-11 .center .field,
.cff-form-23 .center,
.cff-form-23 .center .dfield,
.cff-form-23 .center .field,
.cff-form-28 .center,
.cff-form-28 .center .dfield,
.cff-form-28 .center .field {
  text-align: center !important;
}

.cff-form-11 .left,
.cff-form-23 .left,
.cff-form-28 .left { text-align: left !important; }

.cff-form-11 .right,
.cff-form-23 .right,
.cff-form-28 .right { text-align: right !important; }

.cff-form-11 .field.digits.medium,
.cff-form-11 .field.number.medium,
.cff-form-11 .field.cffcurrency.medium,
.cff-form-23 .field.digits.medium,
.cff-form-23 .field.number.medium,
.cff-form-23 .field.cffcurrency.medium,
.cff-form-28 .field.digits.medium,
.cff-form-28 .field.number.medium,
.cff-form-28 .field.cffcurrency.medium {
  font-family: "Geologica", Helvetica, Arial, sans-serif;
  font-size: 18px !important;
  color: #2B435E;
  background: #fff;
  border: 2px solid #4F667D !important;
  border-radius: 50px;
  height: 50px;
  max-width: 300px !important;
  padding: 8px 14px !important;
  box-sizing: border-box;
}

.cff-form-11 .codepeoplecalculatedfield.field.medium,
.cff-form-11 .codepeoplecalculatedfield.field.medium.valid,
.cff-form-23 .codepeoplecalculatedfield.field.medium,
.cff-form-23 .codepeoplecalculatedfield.field.medium.valid,
.cff-form-28 .codepeoplecalculatedfield.field.medium,
.cff-form-28 .codepeoplecalculatedfield.field.medium.valid {
  font-family: "Geologica", Helvetica, Arial, sans-serif;
  font-size: 18px !important;
  color: #5C6A7A;
  font-weight: 700;
  background: transparent;
  border: none !important;
  box-shadow: none !important;
}

.cff-form-11 .cal-final-result .codepeoplecalculatedfield.field.medium,
.cff-form-11 .cal-final-result .codepeoplecalculatedfield.field.medium.valid,
.cff-form-23 .cal-final-result .codepeoplecalculatedfield.field.medium,
.cff-form-23 .cal-final-result .codepeoplecalculatedfield.field.medium.valid,
.cff-form-28 .cal-final-result .codepeoplecalculatedfield.field.medium,
.cff-form-28 .cal-final-result .codepeoplecalculatedfield.field.medium.valid {
  font-size: 30px !important;
}

/* ---- Revenue calculator special field ---- */

.cff-form-11 .comm-cal2 .field {
  color: #750000 !important;
  background: #FFEDED !important;
  text-align: center;
  padding: 10px !important;
}

/* ---- Sliders ---- */

.cff-form-11 .cff-slider-field,
.cff-form-23 .cff-slider-field,
.cff-form-28 .cff-slider-field {
  padding: 0 10px !important;
}

.cff-form-11 .dfield.slider-container,
.cff-form-23 .dfield.slider-container,
.cff-form-28 .dfield.slider-container {
  padding: 30px 0 0 0 !important;
  margin: 20px 0 0 0 !important;
}

.cff-form-11 .slider-container .slider-caption,
.cff-form-23 .slider-container .slider-caption,
.cff-form-28 .slider-container .slider-caption {
  font-family: "Geologica", Helvetica, Arial, sans-serif;
  font-size: 18px !important;
  color: #2B435E;
}

.cff-form-11 .ui-widget-header,
.cff-form-23 .ui-widget-header,
.cff-form-28 .ui-widget-header {
  background: #677e99;
}

.cff-form-11 .ui-slider-handle.ui-corner-all.ui-state-default:focus,
.cff-form-23 .ui-slider-handle.ui-corner-all.ui-state-default:focus,
.cff-form-28 .ui-slider-handle.ui-corner-all.ui-state-default:focus {
  background: #4F667D !important;
  outline: none;
}

/* ---- Radio / checkbox spacing ---- */

.cff-form-11 #fbuilder input[type="radio"],
.cff-form-11 #fbuilder input[type="checkbox"],
.cff-form-23 #fbuilder input[type="radio"],
.cff-form-23 #fbuilder input[type="checkbox"],
.cff-form-28 #fbuilder input[type="radio"],
.cff-form-28 #fbuilder input[type="checkbox"] {
  margin-right: 10px;
}

.cff-form-11 #fbuilder input[type="radio"]:focus,
.cff-form-23 #fbuilder input[type="radio"]:focus,
.cff-form-28 #fbuilder input[type="radio"]:focus {
  outline: none;
}

/* ---- Hidden helpers ---- */

.hidden,
.hidden-field {
  display: none !important;
  visibility: hidden;
}

/* ---- Error styling ---- */

.cpefb_error.message {
  box-shadow: 0 0 3px #5C6A7A !important;
  border-radius: 10px !important;
  left: 20px !important;
}

.cff-error-dlg { display: none !important; }

/* ---- Image responsiveness ---- */

#fbuilder img {
  max-width: 100%;
  height: auto;
}

/* ---- Mobile ---- */

@media only screen and (max-width: 640px) {
  .group-1 { padding-left: 16px; padding-right: 16px; }
  .comm-cal-cp1,
  .comm-cal-cp2,
  .save-cal-fuel,
  .save-cal-elec,
  .forms,
  .tips { margin-bottom: 20px; }
}

/* ---- CFF / jQuery UI slider fix ---- */

.cff-form-11 .slider,
.cff-form-23 .slider,
.cff-form-28 .slider,
.cff-form .slider {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: #d9d9d9;
  border: 0;
  box-shadow: inset 0 0 0 1px #c8c8c8;
}

.cff-form-11 .ui-slider-horizontal .ui-slider-range,
.cff-form-23 .ui-slider-horizontal .ui-slider-range,
.cff-form-28 .ui-slider-horizontal .ui-slider-range,
.cff-form .ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 8px;
  border-radius: 999px;
  background: #677e99;
}

.cff-form-11 .ui-slider-horizontal .ui-slider-handle,
.cff-form-23 .ui-slider-horizontal .ui-slider-handle,
.cff-form-28 .ui-slider-horizontal .ui-slider-handle,
.cff-form .ui-slider-horizontal .ui-slider-handle {
  width: 22px;
  height: 22px;
  top: 50%;
  margin-top: -11px;
  margin-left: -11px;
  border-radius: 50%;
  border: 1px solid #bfc5cc;
  background: #f3f3f3;
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  cursor: pointer;
}

.cff-form-11 .ui-slider-horizontal .ui-slider-handle:focus,
.cff-form-23 .ui-slider-horizontal .ui-slider-handle:focus,
.cff-form-28 .ui-slider-horizontal .ui-slider-handle:focus,
.cff-form .ui-slider-horizontal .ui-slider-handle:focus {
  outline: none;
  border-color: #4F667D;
  background: #ffffff;
}

.cff-form-11 .corner-captions,
.cff-form-23 .corner-captions,
.cff-form-28 .corner-captions,
.cff-form .corner-captions {
  position: relative;
  margin-top: 8px;
  line-height: 1.2;
}

.cff-form-11 .slider-caption,
.cff-form-23 .slider-caption,
.cff-form-28 .slider-caption,
.cff-form .slider-caption {
  display: inline-block;
  min-width: 24px;
  text-align: center;
}

.cff-form-11 .left-corner,
.cff-form-11 .right-corner,
.cff-form-23 .left-corner,
.cff-form-23 .right-corner,
.cff-form-28 .left-corner,
.cff-form-28 .right-corner,
.cff-form .left-corner,
.cff-form .right-corner {
  color: #333;
}