@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

body {
  animation: fadeIn 0.55s ease-in-out;
}

.ff-btn {
  text-transform: uppercase !important;
  padding: 5px 0;
  background: transparent;
  border-bottom: 1px solid #000;
  letter-spacing: 1.5px;
}
.ff-btn:hover {
  color: var(--theme-palette-color-2);
  border-color: var(--theme-palette-color-2);
}

.ffblock-fluent-form-wrapper .ff-el-input--content input[type="checkbox"]:checked::before {
  display: none;
}

.fluentform .ff-el-progress {
  background-color: transparent !important;
  border: 1px solid;
}
.fluentform .ff-el-progress-bar {
  background-color: #000 !important;
}
.fluentform .ff-el-progress-bar span {
  display: inline-block;
  padding: 0 15px 0 0;
}
.fluentform .ff-step-header {
  margin-bottom: 50px !important;
}
.fluentform .ff-step-titles li.ff_active,
.fluentform .ff-step-titles li.ff_completed {
  color: var(--theme-palette-color-4) !important;
}
.fluentform .ff-step-titles li.ff_active::before,
.fluentform .ff-step-titles li.ff_completed::before {
  background: var(--theme-palette-color-4) !important;
}
.fluentform .ff-step-titles li.ff_active::after,
.fluentform .ff-step-titles li.ff_completed::after {
  background: #000000 !important;
}

.ff-el-section-break .ff-el-section-title {
  font-weight: 400 !important;
}

.ff_submit_btn_wrapper {
  margin-top: 30px;
}

.frm-fluent-form .ff-t-container {
  gap: 60px !important;
}
.fluentform .ff-el-group {
  margin-bottom: 40px !important;
}
.fluentform .ff-el-group:last-child {
  width: 100% !important;
}
.fluentform .ff_upload_btn.ff-btn {
 margin-top: 10px;
background: #000 !important;
}
.fluentform .ff_upload_btn.ff-btn:hover{
background: var(--theme-palette-color-2) !important;
}
.frm-fluent-form .choices__inner {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--theme-palette-color-4) !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
}
.frm-fluent-form .choices[data-type*="select-multiple"]::after {
  display: none !important;
}
.frm-fluent-form .choices__list--dropdown {
  position: relative !important;
  height: 0 !important;
  transition: all 0.4s ease-in-out;
  background: var(--theme-palette-color-8) !important;
  border: 1px solid var(--theme-palette-color-4) !important;
  border-radius: 0 !important;
}
.frm-fluent-form .choices__list--dropdown.is-active {
  height: 100% !important;
}

/* POST */
.single-post .wp-block-post-terms {
  display: flex;
  flex-direction: column;
  font-family: ct_font_editors__note, Sans-Serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.8;
}
.single-post .wp-block-post-terms > span {
  display: none !important;
}

/* Calculator */
.calc-radio-wrapper.default {
  flex-direction: column;
}

/* Typography */
h1.stk-block-heading__text, .h1 > * {
  font-size: clamp(48px, 7vw, 78px) !important;
  line-height: 1.1;
}
h2.stk-block-heading__text, .h2 > * {
  font-size: clamp(40px, 2.86vw, 58px) !important;
}
h3.stk-block-heading__text, .h3 > * {
  font-size: clamp(32px, 2.8vw, 40px) !important;
}
h4.stk-block-heading__text, .h4 > * {
  font-size: clamp(22px, 1.56vw, 32px) !important;
}
h5.stk-block-heading__text, .h5 > * {
  font-size: clamp(22px, 1.4vw, 24px) !important;
}
h6.stk-block-heading__text, .h6 > * {
  font-size: clamp(16px, 1.01vw, 20px) !important;
}

.section-spacing {
  padding-top: 150px !important;
  padding-bottom: 150px !important;
}
.section-spacing.no-bottom-padding {
  padding-bottom: 0 !important;
}

b, strong {
  font-weight: inherit !important;
  color: var(--theme-palette-color-1) !important;
}

header .ct-button {
  white-space: nowrap !important;
}

.error404 main > .ct-container {
  padding-top: 150px;
  padding-bottom: 150px;
}

.ct-panel-content {
  margin-top: -40px;
}
.stk-29f7e4e-inner-blocks .stk-35848f1 .stk-block-card__content {
  padding: 0 !important;
}
.stk-29f7e4e-inner-blocks .stk-35848f1 .stk-block-card__content > * {
  padding: 40px;
}
#offcanvas .mobile-menu .ct-sub-menu-parent {
  align-items: start !important;
}
#offcanvas .ct-panel-content-inner > :first-child {
  margin-left: -18px;
}
#offcanvas .ct-button-ghost {
  border: 1px solid #000;
}
#login #backtoblog a,
#login #nav a {
  color: #ffffff !important;
}

/* Responsive */
@media only screen and (max-width: 1024px) {
  .mobile-menu .ct-menu-link {
    padding-left: 15px;
    padding-right: 5px;
  }
  .mobile-menu[data-toggle-type="type-2"] .ct-toggle-dropdown-mobile {
    margin-left: 15px;
  }
  .section-spacing {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}

@media only screen and (max-width: 766px) {
  .section-spacing {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  
#offcanvas .ct-toggle-close {
  position: absolute;
  top: 30px;
  right: 27px;
  z-index: 100;
}
}