
/* Inter font install
 ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

/* Design tokens / root variables
 ========================================================================== */

:root {
  --brand-font-primary: "Inter", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --brand-font-aux: "IBM Plex Sans", system-ui, sans-serif;
  --color-text: #0e1720;
  --color-muted: #52606d;
  --color-accent: #2676BB;
  --color-white: #ffffff;
  --baseline: 2.0rem;
  --rhythm-factor: 1;
  --headline-max-width: 62ch;
  --scale: 1;
  --content-width: 78ch;
  --page-gutter: 1.25rem;
  --nav-h: 72px;
  --brand-600: #2676BB;
  --brand-700: #2676BB;
  --text: #071428;
  --muted: #6b7785;
  --bg: #f6f8fb;
  --card: #ffffff;
  --glass: rgba(255,255,255,0.72);
  --maxw: 1200px;
  --shadow-1: 0 6px 18px rgba(10,20,40,0.06);
  --shadow-2: 0 18px 50px rgba(8,12,30,0.08);
  --radius-1: 10px;
  --radius-2: 14px;
  --ease-fast: cubic-bezier(.2,.9,.25,1);
  --ease-soft: cubic-bezier(.22,.8,.3,1);
  --ti-blue: var(--color-accent, #2676BB);
  --ti-blue-rgb: 38,118,187; 
  --glass: rgba(12, 23, 58, 0.55);
  --glass-border: rgba(255,255,255,0.25);

/* Links
 ========================================================================== */

a {
  color: #2676BB;
  text-decoration: none;
  font-weight: 600; }

/* Headlines
 ========================================================================== */

section {
  h1, h2, h3, h4, h5, h6 {
  font-family: var(--brand-font-primary);
  
  margin: 0 0 calc(var(--baseline) * 0.5) 0;
  color: var(--color-text);
  letter-spacing: -0.02em;
  max-width: var(--headline-max-width);
  word-break: break-word; }

  p, ul, li {
    font-family: var(--brand-font-primary);
    font-size: 0.95rem;
    color: var(--color-text);
  }

  time {
    font-family: var(--brand-font-primary);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--color-text); 
  }  
}

/* Main Content
 ========================================================================== */
h1 {
  margin: 0 0 22px 0;
  font-size: 3.2rem;
  font-weight: 800; }

h2 {
  margin: 0 0 22px 0;
  font-size: 2.5rem;
  font-weight: 700; }

h3 {
  margin: 0 0 22px 0;
  font-size: 2.0rem;
  font-weight: 700; }

h4 {
  margin: 0 0 22px 0;
  font-size: 1.6rem;
  font-weight: 700; }

h5 {
  margin: 0 0 22px 0;
  font-size: 1.2rem;
  font-weight: 700; }

p.lead {
  font-size: 1.2rem;
  color: var(--muted); }

.cta-panel h2 {
  margin: 0 0 12px 0;
  font-size: 3.2rem;
  font-weight: 800;
  color: var(--color-white);
}

.cta-panel h5 {
  margin: 0 0 12px 0;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--color-white);
}

@media (max-width: 560px) {
  h1 {
    margin: 0 0 12px 0;
    font-size: 2.0rem;
    font-weight: 800; }
  h2 {
    margin: 0 0 12px 0;
    font-size: 1.65rem;
    font-weight: 700; }
  h3 {
    margin: 0 0 12px 0;
    font-size: 1.4rem;
    font-weight: 700; }
  h4 {
    margin: 0 0 12px 0;
    font-size: 1.05rem;
    font-weight: 700; }
  h5 {
    margin: 0 0 12px 0;
    font-size: 1.0rem;
    font-weight: 600; }
  p.lead {
    font-size: 0.95rem;
    color: var(--muted); } 

  .cta-panel h2 {
    margin: 0 0 12px 0;
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--color-white);  }

  .cta-panel h5 {
    margin: 0 0 12px 0;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-white); }
}

/* Spacing
 ========================================================================== */
  .sp { padding: 50px 0px; }
  .lp_topsp { padding-top: 40px; }  
  .blog5 { background: #fff; } 
  .space10 { padding: 10px; }  
  .space15 { padding: 15px; }
  .space20 { padding: 20px; }

/* Backgrounds
 ========================================================================== */
  .cta-card {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    background: var(--glass);
    border: 1px solid var(--glass-border);
    box-shadow: 0 12px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
  }

/* Buttons
 ========================================================================== */
.btn, .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button {
  padding: 9px 14px; border-radius: 8px; font-size: 1rem; line-height: 1.5; font-weight: 700; text-transform: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; position: relative; overflow: hidden; transition: transform 180ms var(--ease-fast), box-shadow 220ms var(--ease-fast), color 180ms var(--ease-fast); will-change: transform, box-shadow; border: 1px solid #ffffff; }

.btn::before, .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::before {
  content: "";
  position: absolute;
  top: -40%;
  left: -60%;
  width: 220%;
  height: 200%;
  /*background: linear-gradient(115deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.14) 18%, rgba(255,255,255,0.02) 40%, rgba(255,255,255,0) 60%);*/
  transform: translateX(-30%) translateY(0) rotate(-12deg) scale(0.98);
  transition: transform 520ms var(--ease-soft), opacity 320ms var(--ease-soft);
  pointer-events: none;
  opacity: 0.9;
  mix-blend-mode: screen; }

.btn::after, .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::after {
  content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
  opacity: 0; transition: opacity 280ms var(--ease-fast); pointer-events: none; }

.btn.primary, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button {
  background: linear-gradient(90deg, var(--brand-600), var(--brand-700));
  color: white; border: 0; box-shadow: 0 8px 22px rgba(var(--ti-blue-rgb), 0.08); transform: translateZ(0); border: 1px solid #ffffff; }

.btn.primary:hover, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button:hover, .btn.primary:focus, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button:focus {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 18px 40px rgba(var(--ti-blue-rgb), 0.14), 0 6px 16px rgba(7, 12, 30, 0.06);
  outline: none; }

.btn.primary:hover::before, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button:hover::before, .btn.primary:focus::before, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button:focus::before {
  transform: translateX(30%) translateY(8%) rotate(-12deg) scale(1); }

.btn.primary:hover::after, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button:hover::after, .btn.primary:focus::after, .eu-cookie-compliance-banner .primary.eu-cookie-compliance-secondary-button:focus::after {
  opacity: 1; }

.btn.ghost, .eu-cookie-compliance-banner .ghost.eu-cookie-compliance-secondary-button {
  background: #fff;
  border: 1px solid rgba(var(--ti-blue-rgb), 0.18);
  color: var(--text); }

.btn.ghost:hover, .eu-cookie-compliance-banner .ghost.eu-cookie-compliance-secondary-button:hover, .btn.ghost:focus, .eu-cookie-compliance-banner .ghost.eu-cookie-compliance-secondary-button:focus {
  color: var(--ti-blue); border-color: rgba(var(--ti-blue-rgb), 0.18); background: #fff; transform: translateY(-3px); box-shadow: 0 10px 24px rgba(var(--ti-blue-rgb), 0.19); }

.btn:focus-visible, .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:focus-visible { box-shadow: 0 0 0 6px rgba(var(--ti-blue-rgb), 0.1); transform: translateY(-3px); }

/* CTA Card
 ========================================================================== */
.cta-card { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); background: var(--glass); box-shadow: 0 12px 40px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.38); border-radius: 12px; padding: 40px; display: flex; gap: 12px; align-items: center; }  
.cta-panel { padding: 34px 0; border-radius: 12px; background: radial-gradient(circle at 90% 50%, rgba(255,255,255,.10) 0 1px, transparent 1.5px) 0 0/10px 10px, linear-gradient(90deg, #2676BB 0%, #12244d 100%); color: #fff; position: relative; overflow: hidden; }

/* Bootstrap 4 replacements
 ========================================================================== */
.fw-semibold { font-weight: 600; }
.flex-gap-3 > * { margin-right: 1rem; margin-bottom: 1rem; }
.canvas-wrap { position: relative; min-height: 520px; }
.blog_article::after {
  content: " "; display: inline-block; width: 48px; height: 4px; background: #da291c; position: relative; transform: translateX(-50%); top: 0; bottom: 0; left: 50%; margin-top: 28px; }

/* 2024 Replacements
 ========================================================================== */
.white { color: #fff; }
.black { color: #000; }

.footer-h1 {
  font-size: 1.650rem;
  line-height: 1.75rem;
  font-weight: 700;
}
.footer-h2 {
  font-size: 1.25rem;
  line-height: 1.6rem;
  font-weight: 700;
}
.footer-sub-h2 {
  font-size: 0.8rem;
  line-height: 1.0rem;
  font-weight: 600;
}

.footer-sub-h2 a {
  color: #fff;
}
.footer-sub-text {
  font-size: 0.7rem;
  line-height: 1.0rem;
  color: #ffffff; }
.footer-sub-text a {
  color: #fff; }
.footer-link {
  font-size: 0.85rem;
  line-height: 1.2rem;
  font-weight: 500;
}

.sub-menu h2 {
  font-size: 1.6rem;
  line-height: 1.8rem;
  font-weight: 700;
}

.bottom-top-news-headline {
  font-weight: 600;
  font-size: 1.15rem;
  line-height: 1.25rem;
}

.bottom-top-news-headline a {
  font-weight: 600;
  font-size: 1.15rem;
  line-height: 1.25rem;
  color: black;
}

small, .small {
  font-size: 0.875em;
  font-weight: 400;
}