/* ==================== HEADER AND MENU ==================== */
/* Main menu links */
#rec3179672801 a:hover, #rec3109981001 a:hover {
  color: #F95C4B !important;
}

#rec3179672801 a, #rec3109981001 a {
  transition: color .2s ease !important;
}

/* Products and industries menu items */
a[href="#products"]:hover .tn-atom,
a[href="#industries"]:hover .tn-atom {
  color: #F95C4B !important;
}

a[href="#products"]:hover img,
a[href="#industries"]:hover img {
  filter: brightness(0) saturate(100%) invert(53%) sepia(55%) saturate(2421%) hue-rotate(329deg) brightness(99%) contrast(93%) !important;
  transition: none !important;
}

a[href="#products"] img,
a[href="#industries"] img {
  transition: none !important;
}

a[href="#products"] .tn-atom,
a[href="#industries"] .tn-atom {
  transition: all .2s ease !important;
}

/* Logo and menu button */
.logo, .menu-toggle {
  transition: opacity .2s ease !important;
  cursor: pointer;
}

.logo:hover, .menu-toggle:hover {
  opacity: .7 !important;
}

/* Contact link */
.contact-link:hover .tn-atom a, 
.contact-link:hover .tn-atom a u {
  color: #95372d !important;
  border-color: #95372d !important;
  border-bottom-color: #95372d !important;
}

/* Mobile menu */
.mobile-menu-box:not(.is-open),
.menu-close-btn:not(.is-open) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.mobile-menu-box.is-open,
.menu-close-btn.is-open {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity 0.2s ease-in-out !important;
}

/* Mobile submenus */
.menu-products:not(.is-open),
.menu-industries:not(.is-open) {
  display: none !important;
}

.menu-products.is-open,
.menu-industries.is-open {
  display: block !important;
}

/* Active menu items */
#rec3179672801 a.active, 
#rec3109981001 a.active,
#rec3179672801 a.t-active, 
#rec3109981001 a.t-active,
.is-active a {
  color: #8F8B83 !important;
}

a.active .tn-atom,
a.t-active .tn-atom,
.is-active .tn-atom {
  color: #8F8B83 !important;
}

a.active img,
a.t-active img,
.is-active img {
  filter: brightness(0) saturate(100%) invert(58%) sepia(10%) saturate(450%) hue-rotate(35deg) brightness(93%) contrast(88%) !important;
  transition: none !important;
}

.contact-link.active .tn-atom a, 
.contact-link.active .tn-atom a u,
.contact-link.t-active .tn-atom a, 
.contact-link.t-active .tn-atom a u,
.contact-link.is-active .tn-atom a,
.contact-link.is-active .tn-atom a u {
  color: #95372d !important;
  border-color: #95372d !important;
  border-bottom-color: #95372d !important;
}

/* ==================== ARTICLE CONTENT ==================== */
/* Images inside article text */
.t-redactor__image:not(:first-of-type) {
    padding-top: 15px;
    padding-bottom: 15px;
}

@media screen and (max-width: 960px) {
    .t152 .t-col_2 {
        max-width: 100%;
        margin-bottom: 10px;
    }
}

/* Promo blocks inside article */
  .t588__title {
    margin-bottom: 30px;
  }

  .t588__buttons {
    margin-top: 30px;
  }

  @media screen and (max-width: 640px) {
    .t588 .t-btn, .t588__buttons-wrapper {
      margin-bottom: 10px;
      width: auto;
    }
  }

/* Lists inside article */
li::marker,
  .t-redactor__text li::marker, 
  .t-text li::marker,
  .t-descr li::marker {
    color: #f95c4b !important;
  }

  .number-ol .tn-atom {
    color: #f95c4b !important;
  }

/* Quotes inside article */
  .t-redactor__quote {
    position: relative !important;
    background-color: #ffffff !important;
    border-left: none !important;
    border-radius: 8px !important;
    margin: 30px 0 !important;
    isolation: isolate;
    padding: 40px !important;
    font-family: 'Inter', sans-serif !important;
  }

  @media (max-width: 960px) {
    .t-redactor__quote {
      padding: 32px !important;
    }
  }

  @media (max-width: 640px) {
    .t-redactor__quote {
      padding: 24px !important;
    }
  }

  .t-redactor__quote::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;

    background-image: url('https://strictera.com/images/quote.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom right;

    width: 60px; 
    height: 60px;

    bottom: -15px; 
    right: 20px;  
  }

  @media (max-width: 960px) {
    .t-redactor__quote::after {
      width: 50px;
      height: 50px;
      bottom: -10px;
      right: 15px;
    }
  }

  @media (max-width: 640px) {
    .t-redactor__quote::after {
      width: 50px;
      height: 50px;
      bottom: -5px;
      right: 10px;
    }
  }

/* ==================== ARTICLE SIDEBAR ==================== */
/* Table of contents */
#toc { position:absolute; width:220px; font:15px Inter,sans-serif; display:none; }
#toc .toc-title { font-size:18px; font-weight:600; color:#1d1c1a; margin:0 0 18px; letter-spacing:-.5px; }
#toc ul { list-style:none; margin:0; padding:0 0 0 22px; position:relative; }
#toc ul:before { content:""; position:absolute; left:6px; top:0; bottom:0; width:2px; background:#d2d1cd; }
#toc li { margin:18px 0; }
#toc a { color:#393834; text-decoration:none; transition:.2s; }
#toc a:hover, #toc a.active { color:#f95c4b; }
#toc .toc-h3 { padding-left:12px; font-size:14px; opacity:.8; }
.toc-line { position:absolute; left:6px; width:2px; background:#f95c4b; transition:.25s; }

@media (min-width:1366px) { #toc { display:block; } }


/* ==================== ARTICLE PAGE ==================== */
/* Article page colors */
body { background:#f7f7f6; color:#434344; }

/* ==================== ARTICLE SIDEBAR DEMO CARD ==================== */
#demo-box { position:absolute; top:0; width:220px; font-family:Inter,sans-serif; z-index:20; display:none; }
.demo-card { background:#2b2a27; border:1px solid #393834; border-radius:24px; padding:24px 20px; margin-bottom:22px; box-shadow:0 8px 44px rgba(14,14,13,.06); }
.demo-title { font-size:18px; font-weight:600; line-height:1.2; color:#f4f3f3; margin:0 0 8px; letter-spacing:-.5px; }
.demo-text { margin:0 0 16px; font-size:14px; line-height:1.5; color:#d2d1cd; letter-spacing:-.5px; }
.demo-btn { display:flex; align-items:center; justify-content:center; width:100%; padding:10px 0; border-radius:90px; font-size:14px; font-weight:400; text-decoration:none; color:#1d1c1a !important; background:#f4f3f3; transition:.2s ease; }
.demo-btn:hover { color:#fff !important; background:#f95c4b; }

@media (min-width:1366px) { #demo-box { display:block; } }

/* ==================== FORMS ==================== */
/* Form base styles */
    :root {
        --c-bg: #2B2A27;
        --c-black: #F4F3F3;
        --c-accent: #f95c4b;
        --c-gray: #D2D1CD;
        --c-line: #393834;
        --c-success: #26C8B9;
        --f-main: 'Inter', sans-serif;
    }

    html,
    body {
        margin: 0;
        padding: 0;
    }

    .tn-atom__html,
    .tn-atom__html > div,
    .st-form-container {
        width: 100%;
        box-sizing: border-box;
    }

    .st-form-container,
    .st-form-container * {
        box-sizing: border-box;
    }

/* Form box */
    .st-form-container {
        width: 100%;
        min-width: 0;
        max-width: 644px;
        height: auto;
        background: var(--c-bg);
        font-family: var(--f-main);
        padding: 56px 48px;
        border: 1px solid var(--c-line);
        box-shadow: 0px 8px 44px rgba(14, 14, 13, 0.06);
        border-radius: 24px;
        overflow: visible;
        color: var(--c-gray);
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        -webkit-tap-highlight-color: transparent;
    }

/* Form title */
    .st-title {
        margin: 0 0 24px;
        font-family: 'Inter', sans-serif;
        font-weight: 500;
        font-size: 46px;
        line-height: 100%;
        letter-spacing: -0.015em;
        color: var(--c-black);
    }

    @media (max-width: 1280px) {
        .st-title { font-size: 40px; }
    }
    @media (max-width: 768px) {
        .st-title { font-size: 34px; }
    }
    @media (max-width: 360px) {
        .st-title { font-size: 26px; }
    }

/* Form description */
    .st-desc {
        margin: 0 0 24px;
        font-family: 'Inter', sans-serif;
        font-weight: 400;
        font-size: 20px;
        line-height: 140%;
        letter-spacing: -0.005em;
        color: var(--c-gray);
    }

    @media (max-width: 1280px) {
        .st-desc { font-size: 18px; }
    }
    @media (max-width: 768px) {
        .st-desc { font-size: 18px; }
    }
    @media (max-width: 360px) {
        .st-desc { font-size: 16px; }
    }

/* Form text fields */
    .st-field {
        display: block;
        position: relative;
        width: 100%;
        max-width: 516px;
        margin: 0 0 24px;
        padding: 14px 0 22px;
        cursor: text;
    }

    .st-input {
        display: block;
        width: 100%;
        height: 32px;
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--c-black);
        font: 400 18px/1.2 var(--f-main);
        caret-color: var(--c-black);
        appearance: none;
        -webkit-appearance: none;
        border-radius: 0;
        position: relative;
        z-index: 2;
        touch-action: manipulation;
    }

    .st-input::placeholder {
        color: transparent;
    }

    .st-label {
        position: absolute;
        top: 16px;
        left: 0;
        z-index: 1;
        pointer-events: none;
        color: var(--c-gray);
        font-size: 16px;
        line-height: 1.2;
        transition: top .16s ease, font-size .16s ease, color .16s ease;
    }

    .st-line {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 22px;
        height: 1px;
        background: var(--c-line);
        pointer-events: none;
        transition: background-color .16s ease;
    }

    .st-error {
        position: absolute;
        left: 0;
        bottom: 0;
        min-height: 16px;
        font-size: 12px;
        line-height: 1.3;
        color: var(--c-accent);
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transition: opacity .16s ease;
    }

    .st-input:focus ~ .st-label,
    .st-input:not(:placeholder-shown) ~ .st-label {
        top: -2px;
        font-size: 12px;
        font-weight: 500;
        color: var(--c-black);
    }

    .st-input:focus ~ .st-line,
    .st-input:not(:placeholder-shown) ~ .st-line {
        background: var(--c-black);
    }

    .st-field.error .st-line {
        background: var(--c-accent);
    }

    .st-field.error .st-error {
        opacity: 1;
        visibility: visible;
    }

/* Form checkbox */
    .st-checkbox-container {
        position: relative;
        width: 100%;
        max-width: 516px;
        margin-bottom: 24px;
        padding-bottom: 20px;
    }

    .st-checkbox-group {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin-top: 8px;
    }

    .st-checkbox-input {
        flex-shrink: 0;
        width: 20px;
        height: 20px;
        margin: 0;
        padding: 0;
        border: 1px solid #F9F9F9;
        border-radius: 4px;
        background: transparent;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        position: relative;
        touch-action: manipulation;
        transition: border-color .16s ease, background-color .16s ease;
    }

    .st-checkbox-input:checked {
        border-color: var(--c-accent);
        background-color: var(--c-accent);
    }

    .st-checkbox-input:checked::after {
        content: '';
        position: absolute;
        left: 6px;
        top: 2px;
        width: 5px;
        height: 10px;
        border: solid #fff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }

    .st-checkbox-label {
        color: #D2D1CD;
        font-size: 13px;
        line-height: 1.4;
        font-weight: 400;
    }

    .st-checkbox-label a {
        color: var(--c-gray);
        text-decoration: underline !important;
        transition: color .16s ease;
    }

    .st-checkbox-label a:hover {
        color: var(--c-accent) !important;
    }

    .st-checkbox-error-msg {
        position: absolute;
        left: 0;
        bottom: 0;
        min-height: 16px;
        font-size: 12px;
        line-height: 1.3;
        color: var(--c-accent);
        opacity: 0;
        visibility: hidden;
        transition: opacity .16s ease;
        pointer-events: none;
    }

    .st-checkbox-container.error .st-checkbox-input {
        border-color: var(--c-accent);
        background-color: rgba(249, 92, 75, .08);
    }

    .st-checkbox-container.error .st-checkbox-error-msg {
        opacity: 1;
        visibility: visible;
    }

/* Form button */
    .st-btn {
        width: 100%;
        max-width: 516px;
        height: 52px;
        margin-top: 4px;
        border: 0;
        border-radius: 26px;
        background: var(--c-black);
        color: var(--c-bg);
        font: 500 16px/1 var(--f-main);
        cursor: pointer;
        touch-action: manipulation;
        transition: background-color .16s ease, opacity .16s ease;
        box-shadow: 0 4px 12px rgba(0,0,0,.08);
    }

    .st-btn:hover:not(:disabled) {
        background: var(--c-accent);
        color: #fff;
    }

    .st-btn:disabled {
        opacity: .7;
        cursor: not-allowed;
        box-shadow: none;
    }

/* Form on mobile */
    @media (max-width: 600px) {
        .st-form-container {
            padding: 40px 24px;
        }

        .st-title {
            font-size: 24px;
        }

        .st-desc {
            font-size: 16px;
        }

        .st-field {
            margin: 0 0 24px;
        }
    }
