Do not delete

Css
.swift-custom-mandatory {
}

Box Shadow - Subtle

custom-box-shadow-subtle
Css
.custom-box-shadow-subtle {
    border-radius: 10px;
    border: 2px solid #eee; 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); 
    padding: 15px;
    margin: 10px;
}

Box Shadow - Moderate

custom-box-shadow-moderate
Css
.custom-box-shadow-moderate {
    border-radius: 2px;
    border: 1px solid #eee; 
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 
    padding: 15px;
    margin: 10px;
}

Box Shadow - Prominent

custom-box-shadow-prominent
Css
.custom-box-shadow-prominent {
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3), 0 3px 6px rgba(0, 0, 0, 0.2); 
    padding: 15px;
    margin: 10px;
}

Box - Hover

custom-box-hover
Css
.custom-box-hover:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); 
}

Box - Shift

custom-box-shift
Css
.custom-box-shift:hover
{
transition: transform 0.3s ease-out;
transform: translateY(-5px);
}

Rounded Image

custom-image
Css
.custom-image img {
  border-radius: 8px;
  padding: 2px; 
  max-width: 100%; 
  display: block; 
  margin-bottom: 10px;
}

Image - Hover Transparency

custom-image-transparency
Css
.custom-image-transparency:hover
{
opacity: 0.7;
}

Image - Dark Blue - Light on Hover

custom-dark-image
Css
/* Base dark blue effect (DIN VIRKENDE DEL) */
.custom-dark-image img {
  filter: grayscale(100%) !important;
  transition: filter 0.5s ease;
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit; /* follow container rounding if any */
}
/* Restore color on hover */
.custom-dark-image:hover img {
  filter: grayscale(0%) !important;
}
/* Container setup */
.custom-dark-image {
  position: relative;
  border-radius: 12px;     /* optional – match your card radius */
  overflow: hidden;        /* ensures overlay follows rounded corners */
  isolation: isolate;      /* ensures z-index layering works cleanly */
  /* ✅ NYT: skygge der IKKE bliver klippet af overflow:hidden */
  /* Justér værdierne så de matcher din temas skygge */
  filter: drop-shadow(0 8px 5px rgba(0,0,0,0.18))
          drop-shadow(0 8px 5px rgba(0,0,0,0.10));
}
/* Semi-transparent dark-blue overlay (below text) */
.custom-dark-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 30, 60, 0.5); /* dark blue overlay */
  transition: background-color 0.5s ease;
  border-radius: inherit;  /* keeps overlay edges rounded */
  z-index: 1;              /* sits below text but above image */
  pointer-events: none;    /* allows interactions through */
}
/* Fade overlay out on hover */
.custom-dark-image:hover::before {
  background-color: rgba(0, 30, 60, 0);
}
/* Text/content layer (keeps text visible above overlay) */
.custom-dark-image > div:last-child {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;              /* above overlay */
  color: inherit;          /* use your theme color (e.g. yellow) */
  pointer-events: none;
}
/* --- Gør hele .custom-dark-image klikbart uden at ændre eksisterende kode --- */
/* Sørg for at containeren er reference for positionering */
.custom-dark-image { position: relative; }
/* Udvid linket til at dække hele feltet */
.custom-dark-image a::after,
.custom-dark-image .stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;              /* over overlay og tekst */
  background: transparent;
  pointer-events: auto;    /* modtag klik */
}
/* Overlay skal stadig lade klik gå igennem */
.custom-dark-image::before {
  pointer-events: none;
  z-index: 1;
}

Image - GrayScale to Color - Hover - Kadir

custom-greyscale-image
Css
.custom-greyscale-image img
{
filter: grayscale(100%) !important;
transition: filter 0.5s ease;
}
.custom-greyscale-image:hover img
{
filter: grayscale(0%) !important;
}

Image - Zoom Hover - Kadir

custom-image-zoom
Css
.custom-image-zoom img {
transition: transform 0.3s ease;
}
.custom-image-zoom:hover img {
transform: scale(1.02);
}

Rounded Image - Kadir

custom-image-Kadir
Css
.custom-image-Kadir img {
  border-radius: 8px;               /* rounded corners */
  max-width: 100%;
  display: block;
  margin-bottom: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);  /* base shadow */
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

Box Shadow Prominent - Kadir

custom-box-shadow-prominent-k
Css
.custom-box-shadow-prominent-k {
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3), 0 3px 6px rgba(0, 0, 0, 0.2); 
    padding: 15px;
    margin: 10px;
}

Text Inset Poster - Kadir

promo3 text-inset
Css
/* === PROMO3: desktop-only text placement & spacing =================== */
@media (min-width: 993px) {
  /* Push text a bit in from the left edge inside posters */
  .promo3 .text-inset.item_swift_poster > .position-absolute > [id^="Poster_"] {
    /* use clamp so it scales slightly on very wide screens */
    padding-left: clamp(24px, 2.2vw, 30px) !important;
  }
  /* Tighten spacing between heading and subheading */
  .promo3 .text-inset .d-flex.gap-3 {
    gap: 0.1rem !important; /* from ~1rem → 0.1rem */
  }
  /* Trim heading bottom margin */
  .promo3 .text-inset h2 {
    margin-bottom: 0.1rem !important;
  }
  /* Remove top margin on subheading */
  .promo3 .text-inset p {
    margin-top: 0.1rem !important;
  }
  /* Give the CTA some breathing room below the copy */
  .promo3 .text-inset .btn {
    margin-top: 2rem !important;
  }
}

Title right alignment - Kadir

Title-colour-Kadir
Css
/* 2) Align the SECOND line to the right edge of the first line */
.Title-colour-Kadir h1.display-1 {
  text-align: justify;
  text-align-last: right;        /* aligns the last line (your 2nd line) to the right */
  -moz-text-align-last: right;   /* Firefox */
}
/* If your title sometimes is an 

instead of

, add this too: */ .Title-colour-Kadir h2.display-3::first-line { color: #ffffff; } .Title-colour-Kadir h2.display-3 { text-align: justify; text-align-last: right; -moz-text-align-last: right; }

Text Inset Slider - Kadir

text-inset-slider
Css
/* === TEXT INSET SLIDER — desktop only (optimized) =================== */
@media (min-width: 993px) {
  /* Tweak these three values to control everything */
  .text-inset-slider {
    --inset: clamp(24px, 2.2vw, 40px);   /* left inset of the text block */
    --row-gap: clamp(2px, .3vw, 8px);    /* gap between heading, copy, CTA */
    --btn-gap: clamp(16px, 2vw, 32px);   /* extra space before the button */
    --heading-lh: 1;                     /* compact headline line-height */
  }
  /* 1) Move the entire overlay in from the left edge */
  .text-inset-slider :is(.position-absolute)[class*="top-0"][class*="bottom-0"][class*="start-0"][class*="end-0"] {
    padding-inline-start: var(--inset) !important; /* beats px-* utilities */
  }
  /* 2) If the overlay uses CSS grid utilities, tighten the row gap */
  .text-inset-slider :is(.position-absolute)[class*="grid"] {
    row-gap: var(--row-gap) !important;
  }
  /* 3) Compact headings */
  .text-inset-slider h1,
  .text-inset-slider h2 {
    line-height: var(--heading-lh) !important;
    margin-block-end: 0.15rem !important;
  }
  /* 4) Tighten copy start and add breathing room before the CTA */
  .text-inset-slider p {
    margin-block-start: 0.15rem !important;
  }
  .text-inset-slider .btn {
    margin-block-start: var(--btn-gap) !important;
  }
  /* 5) Keep 
inside headings consistent with compact line-height */ .text-inset-slider h1 br, .text-inset-slider h2 br { line-height: var(--heading-lh) !important; } } /* === TEXT INSET SLIDER — mobile/tablet fixes ======================= */ @media (max-width: 992.98px) { .text-inset-slider { /* one place to tune mobile sizing */ --slide-aspect: 56%; /* ~16:9 → use 66.66% for 3:2, 75% for 4:3 */ --pad: clamp(12px, 4vw, 20px); /* inside padding for the overlay */ --row-gap: clamp(6px, 2.5vw, 12px); /* spacing between heading, copy, CTA */ --btn-gap: clamp(12px, 3vw, 20px); /* gap before the button */ } /* 1) Give every slide a stable height via Bootstrap ratio */ .text-inset-slider .ratio { --bs-aspect-ratio: var(--slide-aspect) !important; /* consistent slide height */ } /* 2) Ensure media fills the frame (no letterboxing) */ .text-inset-slider .ratio img, .text-inset-slider .ratio picture, .text-inset-slider .ratio video { width: 100%; height: 100%; object-fit: cover; display: block; } /* 3) Reset desktop offset; use compact, symmetric padding */ .text-inset-slider .position-absolute[class*="top-0"][class*="bottom-0"][class*="start-0"][class*="end-0"] { transform: none !important; padding: var(--pad) !important; /* applies on all sides */ } /* 4) Tighten the internal grid spacing of the overlay */ .text-inset-slider .position-absolute[class*="grid"] { row-gap: var(--row-gap) !important; } /* 5) Fluid type & button sizing so text doesn’t overwhelm */ .text-inset-slider h1 { font-size: clamp(22px, 7vw, 36px); line-height: 1.05; margin: 0; } .text-inset-slider h2 { font-size: clamp(18px, 5.5vw, 28px); line-height: 1.1; margin: 0; } .text-inset-slider p { font-size: clamp(14px, 3.8vw, 18px); margin: 0; } .text-inset-slider .btn { margin-top: var(--btn-gap) !important; padding: clamp(8px, 2.6vw, 12px) clamp(14px, 4vw, 18px); font-size: clamp(14px, 3.6vw, 16px); } /* 6) Keep text blocks readable in narrow widths */ .text-inset-slider .position-absolute { max-width: 85ch; /* prevent too-wide paragraphs */ text-wrap: balance; /* nicer heading wraps (supported in modern browsers) */ } }

Button size - Kadir

Button-size-Kadir
Css
/* Target buttons inside poster with this decoration */
.Button-size-Kadir .btn {
  font-size: 20px;          /* font size of text */
  padding: 10px 24px;       /* top/bottom 10px, left/right 24px */
  margin-top: 20px;         /* spacing above the button */
  margin-bottom: 30px;      /* spacing below the button */
  border-radius: 50px;      /* rounded pill style */
  /* NEW → equal size for all */
  min-width: 200px;         /* adjust to your desired width */
  text-align: center;       /* make text centered inside */
  display: inline-flex;     
  justify-content: center;  
  align-items: center;
}

Title last word colour - Kadir

Title-colour-Kadir-white
Css
.Title-colour-Kadir-white .highlight-yellow {
  color: #E6E569;   /* yellow */
}

Rotating title - Kadir

rotating-title
Css
/* Main heading */
.rotating-title{
  font-weight:700;
  line-height:1.1;
  font-size:clamp(36px, 6vw, 60px); /* responsive size */
}
/* Rotating last-word box */
.rotate-words{
  /* Grid makes the column width equal to the longest child (.rw) */
  display:inline-grid;
  grid-template-columns:max-content;   /* <— auto = longest word */
  grid-template-rows:1fr;
  justify-items:start;                 /* left-align the word inside */
  align-items:end;                     /* baseline-ish alignment */
  height:1em;                          /* keeps a single text line tall */
  overflow:hidden;                     /* no vertical spill while sliding */
  margin-left:0.25em;                  /* gap after “Built for / Rooted in” */
  text-align:left;
}
/* Each rotating word */
.rotate-words .rw{
  grid-column:1;                       /* stack all words on top of each other */
  grid-row:1;
  white-space:nowrap;                  /* measure true word width */
  color:#E6E569;
  opacity:0;
  animation:rw-cycle 9s linear infinite;
}
/* show the first word immediately so there’s no flash */
.rotate-words .rw:first-child{ opacity:1; }
/* stagger the words */
.rotate-words .rw:nth-child(1){ animation-delay:0s; }
.rotate-words .rw:nth-child(2){ animation-delay:3s; }
.rotate-words .rw:nth-child(3){ animation-delay:6s; }
/* slide/fade animation */
@keyframes rw-cycle{
  0%   { opacity:0; transform:translateY(100%); }
  10%  { opacity:1; transform:translateY(0); }
  28%  { opacity:1; transform:translateY(0); }
  33%  { opacity:0; transform:translateY(-100%); }
  100% { opacity:0; }
}

Accordion - Kadir

Accordion
Css
/* Reset font styling on right-hand side so it follows the global site font */
.accordion,
.accordion * {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
}

Closer button - Kadir

stats-section
Css
/* === STATS SECTION: tighten layout and spacing ======================= */
/* 1) Tighter vertical gap between poster elements */
.stats-section .item_swift_poster.h-100.d-flex.flex-column {
  gap: 2px !important; /* replaces gap-3 / gap-md-4 */
}
/* 2) Smaller space under headings / numbers */
.stats-section h1,
.stats-section .display-1,
.stats-section .display-2 {
  margin-bottom: 0.05px !important;
}
/* 3) Smaller space above the yellow button */
.stats-section .btn {
  margin-top: 0.05px !important;
}
/* Disable click behavior for buttons in stats section */
.stats-section a.btn {
  pointer-events: none !important;  /* disables all clicks */
  cursor: default !important;       /* shows regular cursor */
}

Timeline – Kadir

Css
/* ===== Timeline – Kadir ===== */
.timeline-kadir {
  --brand: #003660;       /* raaco blue */
  --accent: #E6E569;      /* yellow highlight */
  --ink: #0E374D;         /* dark text */
  --card-bg: #ffffff;
  --muted: #9fb5c2;
  display: grid;
  gap: 20px;
  justify-items: center;
  color: var(--ink);
  /* Keep centered and 2/3 page width */
  width: clamp(720px, 66.666vw, 1160px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  left: 0;
}
/* Hide the radios */
.timeline-kadir input[type="radio"] { display: none; }
/* Year pills row */
.timeline-kadir .years {
  display: flex;
  flex-wrap: nowrap;        /* one row */
  gap: 28px;                /* more spacing */
  justify-content: center;  /* ensure true center */
}
.timeline-kadir .years label {
  min-width: 98px;           /* consistent pill size */
  height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--brand);
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  background: #fff;
  color: var(--brand);
  transition: .2s ease-in-out;
}
.timeline-kadir .years label:hover { transform: translateY(-1px); }
/* Active year pill */
#t1956:checked ~ .years label[for="t1956"],
#t1963:checked ~ .years label[for="t1963"],
#t1975:checked ~ .years label[for="t1975"],
#t1998:checked ~ .years label[for="t1998"],
#t2007:checked ~ .years label[for="t2007"],
#t2018:checked ~ .years label[for="t2018"],
#t2024:checked ~ .years label[for="t2024"] {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
}
/* Card container */
.timeline-kadir .cards {
  width: 100%;
  max-width: 1160px;        /* same width as pills area */
}
/* Card look */
.timeline-kadir .card {
  display: none;
  background: var(--card-bg);
  border: 2px solid var(--accent);
  border-radius: 18px;
  padding: clamp(24px, 4.2vw, 48px);
  box-shadow: 0 24px 36px rgba(0,0,0,.08);
  text-align: center;
  min-height: 320px;        /* fixed height */
}
/* Show the card that matches the checked radio */
#t1956:checked ~ .cards .c1956,
#t1963:checked ~ .cards .c1963,
#t1975:checked ~ .cards .c1975,
#t1998:checked ~ .cards .c1998,
#t2007:checked ~ .cards .c2007,
#t2018:checked ~ .cards .c2018,
#t2024:checked ~ .cards .c2024 {
  display: block;
}
/* Typography inside card */
.timeline-kadir .card .year {
  color: var(--accent);
  font-weight: 800;
  font-size: clamp(36px, 5.8vw, 70px);
  line-height: 1.05;
  margin: 0 0 12px;
}
.timeline-kadir .card .title {
  font-weight: 700;
  font-size: clamp(22px, 3.4vw, 36px);
  margin: 0 0 10px;
}
.timeline-kadir .card p {
  margin: 0 auto;
  max-width: 760px;
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.6;
}
/* Dots under the card (optional) */
.timeline-kadir .dots {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: flex-start;
  height: 28px;
}
.timeline-kadir .dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--muted);
  position: relative;
}
#t1956:checked ~ .dots .d1956,
#t1963:checked ~ .dots .d1963,
#t1975:checked ~ .dots .d1975,
#t1998:checked ~ .dots .d1998,
#t2007:checked ~ .dots .d2007,
#t2018:checked ~ .dots .d2018,
#t2024:checked ~ .dots .d2024 { background: var(--accent); }
#t1956:checked ~ .dots .d1956::after,
#t1963:checked ~ .dots .d1963::after,
#t1975:checked ~ .dots .d1975::after,
#t1998:checked ~ .dots .d1998::after,
#t2007:checked ~ .dots .d2007::after,
#t2018:checked ~ .dots .d2018::after,
#t2024:checked ~ .dots .d2024::after {
  content:"";
  position:absolute; left:50%; transform:translateX(-50%);
  top: 12px; width: 2px; height: 22px;
  background: linear-gradient(180deg, var(--accent), transparent);
  filter: drop-shadow(0 0 2px var(--accent));
}
/* ===== responsive: allow wrapping on small screens ===== */
@media (max-width: 860px){
  .timeline-kadir{
    width: min(92vw, 1100px); 
  }
  .timeline-kadir .years{
    flex-wrap: wrap;
    gap: 16px 14px;
  }
  .timeline-kadir .years label{
    min-width: 108px;
    height: 46px;
  }
  .timeline-kadir .card{
    min-height: 280px;
  }
}
/* --- Center the timeline (no fixed width) --- */
.timeline-kadir{
  width: 100% !important;              /* fill available space */
  margin: 0 auto !important;           /* center the block */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;      /* center children */
  left: 0 !important;                  /* guard against offsets */
}
/* Center the year pills row */
.timeline-kadir .years{
  justify-content: center !important;
}
/* Keep card width you like, but center it */
.timeline-kadir .cards{
  width: min(100%, 1160px) !important; /* use your existing max width */
  margin-inline: auto !important;      /* center the card container */
}
/* Fade-in animation for the visible card */
@keyframes tk-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* play the animation on whichever card is shown */
#t1956:checked ~ .cards .c1956,
#t1963:checked ~ .cards .c1963,
#t1975:checked ~ .cards .c1975,
#t1998:checked ~ .cards .c1998,
#t2007:checked ~ .cards .c2007,
#t2018:checked ~ .cards .c2018,
#t2024:checked ~ .cards .c2024 {
  animation: tk-fade-in 1.0s ease both;
  will-change: opacity, transform;
}
/* === Move the year pills below the card === */
/* 1. Reorder layout so the .years row appears below the .cards */
.timeline-kadir {
  display: flex !important;
  flex-direction: column-reverse !important; /* reverses order: years go under */
  align-items: center;
  gap: 40px; /* extra vertical space between card and years */
}
/* 2. Adjust the year pills row spacing and alignment */
.timeline-kadir .years {
  margin-top: 20px;  /* small space below the card */
  gap: 36px !important; /* increase space between each year pill */
}
/* 3. Optionally, reduce overlap margin between dots and years */
.timeline-kadir .dots {
  margin-bottom: 0; /* ensures no extra spacing conflict */
}

Mega Menu

Css
/* ================= MEGA MENU HEADLINES (your existing styles) ================= */
.dropdown-menu.megamenu strong,
.dropdown-menu.megamenu h4,
.dropdown-menu.megamenu b {
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 6px;
  display: block;
  color: #003660;
}
.dropdown-menu.megamenu a {
  line-height: 1.3;
  padding: 2px 0;
  font-size: 15px;
  font-weight: 400;
}
/* ================= MAIN NAV SPLIT LAYOUT ================= */
/* Remove any dividers/pipes between items */
ul.nav.flex-nowrap.menu_root > li::before,
ul.nav.flex-nowrap.menu_root > li::after,
.nav-left > li::before,
.nav-left > li::after,
.nav-right > li::before,
.nav-right > li::after {
  content: none !important;
}
@media (min-width: 992px) {
  /* Make sure search + language never shrink away */
  header button.p-2.bg-transparent.border-0.text-reset,
  header button[id^="languageSelector_"] {
    flex-shrink: 0 !important;
  }
  /* Wrapper created by JS that contains the two ULs */
  .nav-split {
    display: flex !important;
    align-items: center;
    justify-content: center;        /* center whole 8-link block in nav column */
    width: 100%;
  }
  /* Left and right groups of 4 links */
  .nav-left,
  .nav-right {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    gap: 1.5rem;                    /* normal spacing inside each 4-link group */
  }
  /* 1 + 2) BIG gap between “Online sales” and “Distributors”
        and pull the right block toward the search icon       */
  .nav-right {
    margin-left: 10rem !important;   /* << big, obvious gap between the blocks */
    margin-right: 0.1rem !important; /* distance from Contact to search icon */
  }
}

Search

search
Css
/* =========================================================
   RAACO — Search modal (clean, no X, even padding)
   ========================================================= */
/* Backdrop + placement */
.modal.show[id^="searchModal_"] {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 6vh !important;               /* distance from top */
  background: rgba(0,0,0,.35) !important;    /* dim page behind */
  z-index: 9999 !important;
  overflow: hidden !important;
}
/* Centered floating dialog */
.modal.show[id^="searchModal_"] .modal-dialog.modal-fullscreen {
  width: min(640px, 92vw) !important;
  max-width: 92vw !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
}
/* Modal box */
.modal.show[id^="searchModal_"] .modal-content {
  border: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.25) !important;
  padding: 16px 24px !important;
}
/* No header/title/X */
.modal.show[id^="searchModal_"] .modal-header,
.modal.show[id^="searchModal_"] .modal-header .modal-title,
.modal.show[id^="searchModal_"] .modal-header .btn-close {
  display: none !important;
}
/* Body + form layout */
.modal.show[id^="searchModal_"] .modal-body {
  padding: 0 !important;
}
.modal.show[id^="searchModal_"] .modal-body form {
  margin: 0 !important;
  position: relative !important;
}
/* Clean search input (even padding, single-line) */
.modal.show[id^="searchModal_"] .modal-body input[type="search"],
.modal.show[id^="searchModal_"] .modal-body input[type="text"] {
  width: 100% !important;
  height: 48px !important;
  line-height: 48px !important;
  font-size: 16px !important;
  padding: 0 16px !important;                 /* equal left/right padding */
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  background-image: none !important;          /* kill theme bg icon(s) */
  outline: none !important;
  box-sizing: border-box !important;
}
.modal.show[id^="searchModal_"] .modal-body input[type="search"]:focus,
.modal.show[id^="searchModal_"] .modal-body input[type="text"]:focus {
  border-color: #0e4a6b !important;
  box-shadow: 0 0 0 2px rgba(14,74,107,0.15) !important;
}
/* Hide theme-provided icons near the input (magnifier/X wrappers, etc.) */
.modal.show[id^="searchModal_"] .modal-body .input-group-text,
.modal.show[id^="searchModal_"] .modal-body [class*="icon"],
.modal.show[id^="searchModal_"] .modal-body svg {
  display: none !important;
}
/* Hide browser-native search clear/magnifier */
.modal.show[id^="searchModal_"] .modal-body input[type="search"]::-webkit-search-decoration,
.modal.show[id^="searchModal_"] .modal-body input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
}
.modal.show[id^="searchModal_"] .modal-body input[type="search"]::-ms-clear,
.modal.show[id^="searchModal_"] .modal-body input[type="search"]::-ms-reveal {
  display: none !important;
}
/* Hide visible submit controls (Enter still submits) */
.modal.show[id^="searchModal_"] .modal-body button[type="submit"],
.modal.show[id^="searchModal_"] .modal-body input[type="submit"] {
  display: none !important;
}
/* Backdrop tone (Bootstrap’s element) */
.modal-backdrop {
  background-color: rgba(0,0,0,.35) !important;
}

Grid - Kadir

promo3
Css
/* === PROMO 3-GRID (Swift row: class 'promo3') === */
/* 1. Mobile-first: stacked layout */
.promo3 .container-xl > .grid.grid-1.grid-lg-3 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: var(--bs-gutter-x, 24px); /* respects Swift/Bootstrap gutter */
  place-items: stretch;
  align-content: stretch;
  justify-content: stretch;
  box-sizing: border-box;
}
/* Ensure children flex correctly */
.promo3 .grid.grid-1.grid-lg-3 > .g-col {
  min-width: 0;
  display: block;
  box-sizing: border-box;
}
/* Content inside children should fit width */
.promo3 .grid.grid-1.grid-lg-3 > .g-col > * {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* 2. Image normalization: same ratio, clean crop */
.promo3 .grid.grid-1.grid-lg-3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
/* 3. Desktop: 2fr/1fr with right split into two rows */
@media (min-width: 993px) {
  .promo3 .container-xl > .grid.grid-1.grid-lg-3 {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 32px;
  }
  .promo3 .grid.grid-1.grid-lg-3 > .g-col:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2; /* large left */
  }
  .promo3 .grid.grid-1.grid-lg-3 > .g-col:nth-child(2) {
    grid-column: 2;        /* top right */
    grid-row: 1;
  }
  .promo3 .grid.grid-1.grid-lg-3 > .g-col:nth-child(3) {
    grid-column: 2;        /* bottom right */
    grid-row: 2;
  }
}
/* 4. Small mobiles: tighter gaps */
@media (max-width: 576px) {
  .promo3 .container-xl > .grid.grid-1.grid-lg-3 {
    gap: 16px;
  }
}
/* === PROMO3: Aspect ratios and tighter visual alignment =================== */
.promo3 {
  --promo3-ratio: 3 / 2;              /* Adjust to 3 / 2 or 4 / 3 if you want taller tiles */
  --promo3-gap: clamp(16px, 2vw, 32px);
}
/* Desktop: lock consistent tile heights via aspect-ratio */
@media (min-width: 993px) {
  .promo3 .grid.grid-1.grid-lg-3 > .g-col {
    aspect-ratio: var(--promo3-ratio);
    overflow: hidden;
    border-radius: 12px;
  }
  .promo3 .grid.grid-1.grid-lg-3 > .g-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  /* Adjust grid spacing for tighter vertical match */
  .promo3 .container-xl > .grid.grid-1.grid-lg-3 {
    column-gap: var(--promo3-gap);
    row-gap: calc(var(--promo3-gap) * 0.5); /* halves vertical gap → left/right align visually */
  }
}
/* Mobile/tablet: natural height flow but safe crop */
@media (max-width: 992.98px) {
  .promo3 .grid.grid-1.grid-lg-3 > .g-col {
    overflow: hidden;
    border-radius: 12px;
  }
  .promo3 .grid.grid-1.grid-lg-3 > .g-col img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }
}
/* === FIX: Equal spacing between promo3 boxes === */
@media (min-width: 993px) {
  .promo3 .container-xl > .grid.grid-1.grid-lg-3 {
    gap: 32px !important;          /* same distance horizontally and vertically */
  }
}
/* Optional: enforce equal gaps on tablet/mobile as well */
@media (max-width: 992.98px) {
  .promo3 .container-xl > .grid.grid-1.grid-lg-3 {
    gap: 24px !important; /* or any value you prefer */
  }
}
@media (max-width: 576px) {
  .promo3 .container-xl > .grid.grid-1.grid-lg-3 {
    gap: 16px !important; /* keep your current small-mobile spacing */
  }
}
/* === PROMO3: Left tile – stack buttons vertically with tidy sizing === */
/* 1) Make the wrapper that contains the .btn items a vertical stack */
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child
  :where(.buttons, .btn-group, .button-group, .paragraph__buttons),
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child
  *:has(> .btn + .btn) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  gap: 6px; /* spacing between the two buttons */
}
/* Override any built-in margins Swift adds */
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child .btn + .btn,
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child a.btn + a.btn {
  margin-top: 6px !important; /* direct control of distance between buttons */
}
/* 2) Button sizing — shrink to text (change to width:100% if you want full-width) */
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child .btn,
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child a.btn {
  display: inline-flex;              /* use flex layout inside button */
  justify-content: center;           /* horizontal center */
  align-items: center;               /* vertical center */
  text-align: center;                /* fallback for multiline text */
  padding: 6px 24px;
  border-radius: 30px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  width: 100%;                       /* inherits equal width from wrapper */
}
/* 3) Fallback spacing if the wrapper can't be targeted for some reason */
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child .btn + .btn,
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child a.btn + a.btn {
  margin-top: 12px;
}
/* 4) Keep text left-aligned in the tile */
.promo3 .grid.grid-1.grid-lg-3 > .g-col:first-child { text-align: left; }

Footer menu

footer-menu
Css
/* Tighter spacing i den viste venstre-footermenu */
nav.d-flex.flex-column.align-items-start.text-start {
  gap: 0 !important;                 /* fjern evt. flex-gap */
}
nav.d-flex.flex-column.align-items-start.text-start .nav {
  gap: 0 !important;                 /* sikkerhed, hvis .nav selv har gap */
}
nav.d-flex.flex-column.align-items-start.text-start .nav-item {
  margin: 0 !important;              /* fjern margin mellem 
  • */ } nav.d-flex.flex-column.align-items-start.text-start .nav-link { padding-top: 2px !important; /* var typisk 8px */ padding-bottom: 2px !important; line-height: 1.25 !important; /* tættere linjeafstand */ }
  • Contact us floating

    Css
    /* Floating “Contact us” button */
    .floating-contact{
      position: fixed;
      right: clamp(12px, 2vw, 24px);
      bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(12px, 2vw, 24px));
      z-index: 9999;
      display: inline-flex;
      align-items: center;
      gap: .6rem;
      padding: 1.3rem 1.1rem;
      border-radius: 999px;
      background: #E6E569;                 /* raaco lime */
      color: #0e2f4a;                       /* raaco mørk blå */
      text-decoration: none;
      font-weight: 600;
      line-height: 1;
      box-shadow: 0 8px 24px rgba(0,0,0,.18);
      transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease;
    }
    /* Lille chat-ikon før teksten (inline SVG) */
    .floating-contact::before{
      content:"";
      width: 1.15em; height: 1.15em; flex: 0 0 auto;
      background: no-repeat center/contain
        url("data:image/svg+xml;utf8,");
      filter: drop-shadow(0 0 0 transparent);
    }
    .floating-contact:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.22); }
    .floating-contact:active{ transform: translateY(0); box-shadow: 0 6px 16px rgba(0,0,0,.18); }
    .floating-contact:focus-visible{
      outline: 3px solid #0e2f4a; outline-offset: 3px;
    }
    /* Mindre skærme: større klikflade */
    @media (max-width: 576px){
      .floating-contact{ padding: .75rem 1.2rem; font-size: 1.05rem; }
    }
    /* Respektér reduceret bevægelse */
    @media (prefers-reduced-motion: reduce){
      .floating-contact{ transition: none; }
    }
    /* Hvis I har en cookiebar, kan I “løfte” knappen over den:
       .floating-contact{ bottom: calc(var(--cookie-height, 0px) + 16px); } */
    

    Online sales modal

    Css
    /* === Trigger button === */
    /* button sizing + look (top version) */
    .btn-lime{
      display:inline-block;
      padding: 10px 24px;     /* generous pill size */
      background:#e9eb63; 
      color:#0e2f4a;
      font-size: 20px;          /* larger text like the top one */
      font-weight: 400;           /* not bold */
      letter-spacing: 0;          /* no extra tracking */
      text-transform: none;       /* keep casing */
      margin-top: 20px;         /* spacing above the button */
      margin-bottom: 30px;      /* spacing below the button */
      border-radius: 50px;      /* rounded pill style */
      text-decoration:none;
      cursor:pointer;
      transition: transform .15s ease, background .15s ease;
    }
    .btn-lime:hover { background:#dadd55; }
    /* Remove default markers */
    .dw-region-modal > summary { list-style:none; cursor:pointer; }
    .dw-region-modal > summary::-webkit-details-marker { display:none; }
    /* Hide trigger when open */
    .dw-region-modal[open] > summary.btn-lime { display:none; }
    /* Modal container */
    .dw-region-modal .modal {
      position:fixed; inset:0;
      display:none; place-items:center;
      z-index:9999;
      transition:opacity .2s ease, transform .2s ease;
      opacity:0; transform:scale(.97);
    }
    .dw-region-modal[open] .modal {
      display:grid; opacity:1; transform:scale(1);
    }
    /* Backdrop blur */
    .modal__backdrop {
      position:absolute; inset:0;
      background:rgba(14,59,92,.35);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
      cursor:pointer;
    }
    /* Card box */
    .modal__card {
      position:relative; z-index:1;
      width:min(680px,92vw); max-height:85vh;
      overflow:auto;
      background:#fff; color:#0e2f4a;
      border-radius:20px;
      padding:28px 24px;
      box-shadow:0 20px 60px rgba(0,0,0,.28);
    }
    /* Title + grid */
    .modal__title {
      margin:0 8px 18px;
      font-size:1.6rem;
      font-weight:800;
      text-align:center;
    }
    .region-grid {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
      list-style:none;
      padding:8px;
      margin:0;
    }
    @media (min-width:640px) {
      .region-grid { grid-template-columns:repeat(3,1fr); }
    }
    /* Region boxes */
    .region {
      display:flex;
      align-items:center;
      justify-content:center;
      height:70px;
      border-radius:14px;
      background:#f7f9fb;
      color:#0e2f4a;
      text-decoration:none;
      font-weight:700;
      border:2px solid #e6ecf2;
      transition:all .15s ease-in-out;
    }
    .region:hover {
      border-color:#0e4a6b;
      background:#eef5fa;
    }
    

    testimonial-kadir

    testimonial-kadir
    Css
    .testimonial-kadir {
      position: relative;
      padding: 40px 20px 20px 70px;
      max-width: 600px;
      font-family: 'Poppins', sans-serif;
      color: #1a2e3b;
      line-height: 1.6;
      text-align: center;
    }
    .quote-mark {
      position: absolute;
      top: -10px;
      left: 20px;
      font-family: 'Poppins', sans-serif;
      font-size: 90px;
      font-weight: 700;
      color: #003B7A; /* True raaco blue */
      opacity: 0.15; /* Light tint for balance */
      line-height: 0.8;
      z-index: 0;
    }
    .quote-text {
      position: relative;
      z-index: 1;
      font-size: 18px;
      font-weight: 400;
      color: #1a2e3b;
      margin-bottom: 15px;
    }
    .quote-author {
      font-size: 14px;
      color: #5a7282;
      font-style: italic;
    }
    

    Video poster round

    custom-video-Kadir
    Css
    /* === Kadir's custom video styling === */
    .custom-video-Kadir video {
      border-radius: 8px;                          /* rounded corners */
      overflow: hidden;                            /* ensure poster corners clip */
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;                           /* keeps poster nicely cropped */
      border: none;
      background-color: transparent;               /* prevents unwanted background */
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);  /* soft base shadow */
      transition: box-shadow 0.3s ease, transform 0.3s ease;
      -webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari fix for poster rounding */
    }
    .custom-video-Kadir {
      border-radius: 8px;
      overflow: hidden;
      display: block;
      background: #000; /* fills the corner gaps */
    }
    .custom-video-Kadir video {
      width: 100%;
      height: auto;
      object-fit: cover;
      display: block;
      border: none;
      background: transparent;
    }
    /* Hover effect */
    .custom-video-Kadir video:hover {
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);  /* deeper shadow on hover */
      transform: translateY(-3px);                 /* subtle lift */
    }
    /* the wrapper around the 

    Smaller font

    smaller-font
    Css
    /* Make text smaller for a specific row */
    .smaller-font {
      font-size: clamp(9px, 1.2vw, 12px);
      line-height: 1.3;
    }
    

    Datasheet

    Datasheet
    Css
    /* ---------- CLEAN PRINT VIEW (Datasheet) ---------- */
    @media print {
      /* Page */
      @page { size: A4; margin: 12mm; }
      /* Base */
      html { font-size: 80% !important; }
      body { background:#fff !important; color:#111 !important; }
      .product-detail, .content-main, .main-content, .product-container {
        width:100% !important; max-width:none !important; padding:0 !important;
      }
      /* Typography */
      h1 { font-size:18pt !important; margin:0 0 6px !important; color:#0f2240; }
      .product-title { font-size:20pt !important; margin-bottom:10px !important; }
      h2 { font-size:12pt !important; margin:12px 0 6px !important; color:#0f2240; }
      h1, h2 { margin-bottom:4px !important; } /* tighter headings */
      table, p, li { font-size:11pt; line-height:1.4; }
      .muted { color:#6b7280; font-size:9.5pt; }
      .hr { border-top:1px solid #e5e7eb; margin:8px 0 12px; }
      /* Layout used by the datasheet template */
      .grid { display:grid; grid-template-columns:46% 54%; gap:14px; align-items:start; }
      .figure { border:1px solid #e5e7eb; padding:6px; text-align:center; min-height:140px; }
      img { max-width:100%; height:auto; max-height:140px; object-fit:contain; }
      .desc { max-height:160px; overflow:hidden; }
      /* Hide site chrome */
      [itemprop="description"],
      .grid.gap-3,
      h2.h1.mw-75ch,
      .item_swift_productdetailsmediatable,
      circle, header, nav, footer,
      .site-header, .site-footer, .breadcrumbs,
      .top-bar, .main-menu, .mobile-nav,
      .search, .newsletter-signup, .cookie-banner,
      .btn, .raaco-pill, [data-datasheet] {
        display:none !important;
      }
      /* Accordion content visible in print; hide toggles */
      .accordion-collapse, .collapse {
        display:block !important; height:auto !important; visibility:visible !important; overflow:visible !important;
      }
      .accordion-header, .accordion-button { display:none !important; }
      /* Align specs block & heading spacing */
      h2, table { margin-top:0 !important; }
      h2 + table { margin-top:4px !important; }
      section.grid { align-items:start !important; }
      /* Table defaults (for any tables present) */
      table { width:100%; border-collapse:collapse; table-layout:fixed; }
      th, td { text-align:left; padding:5px 4px; border-bottom:1px solid #e5e7eb; font-size:9.6pt; }
      th { width:38%; white-space:nowrap; }
      td { word-wrap:break-word; overflow-wrap:break-word; }
      /* -------- Specifications (final-effective layout) -------- */
      .accordion-body dl.grid.gap-2 {
        display:grid !important;
        grid-template-columns:minmax(140px,30%) 1fr;
        column-gap:18px !important;
        row-gap:0 !important;
        width:100% !important;
        margin:0 0 12px 0 !important;
        border-top:1px solid #e5e7eb !important;
        border-collapse:collapse !important;
      }
      .accordion-body dl.grid.gap-2 > dt,
      .accordion-body dl.grid.gap-2 > dd {
        grid-column:auto !important;
        margin:0 !important;
        padding:2px 0 !important;          /* tightened */
        line-height:1.12 !important;       /* tightened */
        border-bottom:1px solid #e5e7eb !important;
        break-inside:avoid !important;
      }
      .accordion-body dl.grid.gap-2 > dt {
        font-weight:700 !important;
        white-space:nowrap !important;
        width:auto !important;
      }
      .accordion-body dl.grid.gap-2 > dd {
        width:auto !important;
        white-space:nowrap !important;      /* keep values on one line */
        word-break:keep-all !important;
        overflow-wrap:normal !important;
        hyphens:none !important;
      }
      .accordion-body dl.grid.gap-2 > dd.text-break,
      .accordion-body dl.grid.gap-2 > dd .text-break {
        word-break:keep-all !important;
        white-space:nowrap !important;
        overflow-wrap:normal !important;
      }
      .accordion-body dl.grid.gap-2 > dd span {
        display:inline !important;
        white-space:nowrap !important;
      }
      /* Group spacing */
      .accordion-item + .accordion-item { margin-top:10px !important; }
      /* ---- Working top alignment tweaks ---- */
      /* Remove spacer paddings above the 2-column grid so the grid starts at the top */
      .item_swift_1columnfull.py-3,
      .item_swift_1columnfull.py-lg-3,
      .item_swift_1columnfull.pb-4,
      .item_swift_1columnfull.pb-lg-5,
      .item_swift_1columnfull.pt-lg-0 {
        padding-top:0 !important;
        padding-bottom:0 !important;
        margin-top:0 !important;
        margin-bottom:0 !important;
      }
      /* Ensure the right (Specifications) column aligns to the very top */
      .item_swift_2columns .grid.grid-lg-2 > .g-col:nth-child(2) {
        align-self:start !important;
        margin-top: -235px !important;  /* your working value */
        padding-top:0 !important;
      }
    }
    /* ---------- Branded Raaco Footer ---------- */
    @media print {
      /* Make sure browsers render backgrounds in print */
      html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
      /* Branded Raaco Footer (with URL-encoded path) */
      body::after {
        content: "raaco A/S • Platanvej 19 • DK-Nykøbing F. • Denmark • www.raaco.com";
        display: block;
        text-align: center;
        font-size: 9pt;
        color: #0f2240;
        position: fixed;
        bottom: 8mm;
        left: 0;
        right: 0;
        padding-top: 24px;
        background-repeat: no-repeat;
        background-position: center 0;
        background-size: 80px auto;
      }
    }
    

    Video poster 16:9

    video-poster
    Css
    .video-poster {
      aspect-ratio: 16 / 9;      /* Keeps it 16:9 at all sizes */
      width: 100%;               /* Responsive width */
      height: auto;              /* Auto height based on ratio */
      object-fit: cover;         /* 'cover' fills box, may crop — use 'contain' if you prefer letterbox */
      background: #000;          /* Fallback background color */
      display: block;            /* Removes inline gap issues */
    }
    

    SettingTheStandardSizing

    poster-heading-mobile
    Css
    @media (max-width: 575.98px) {
        .poster-heading-mobile h2 {
            font-size: clamp(1.6rem, 5vw, 1.8rem) !important;
            line-height: 1.4 !important;
        }
    }
    

    BigPosterVideoOnMobile

    poster-compact-mobile
    Css
    /* Make Swift video poster compact on mobile */
    @media (max-width: 767.98px) {
        /* Kill the tall viewport height on this poster only */
        .poster-compact-mobile .min-vh-75,
        .poster-compact-mobile .min-vh-md-100 {
            min-height: 25vh !important;
        }
        /* Let the inner container shrink to the video height */
        .poster-compact-mobile .h-100 {
            height: auto !important;
            min-height: 25vh !important;
        }
        /* Just in case: hide any overlay that would extend below the video */
        .poster-compact-mobile .position-relative {
            overflow: hidden;
        }
    }
    

    UseCaseMobileFit

    promo3-mobile-fix
    Css
    /* Mobil-tekst fix KUN for boksen med CSS-klassen "promo3-mobile-fix" */
    @media (max-width: 575.98px) {
        /* Overskrift */
        .promo3-mobile-fix h1,
        .promo3-mobile-fix h2,
        .promo3-mobile-fix h3 {
            font-size: 0.9rem !important;   /* ca. 21px – juster efter behov */
            line-height: 1.2 !important;
        }
        /* Brødtekst + bullets */
        .promo3-mobile-fix p,
        .promo3-mobile-fix li {
            font-size: 0.65rem !important;    /* ca. 14–15px */
            line-height: 1.4 !important;
        }
    }
    

    ControllingContainersProductPages

    Css
    /* ----------------------------------------------------------
       PRODUCT PAGE – LONG DESCRIPTION LAYOUT FIX
       ---------------------------------------------------------- */
    /* Main description block */
    main#content[itemtype="https://schema.org/Product"]
      .item_swift_productnumber
      .mw-75ch.d-inline-block[itemprop="description"] {
        max-width: 100% !important;
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
        white-space: normal !important;      /* allow normal wrapping */
        overflow-wrap: break-word !important; /* safe for long URLs/strings */
        /* border: 1px solid red !important;  <-- for debugging only */
    }
    /* Children inside the description */
    main#content[itemtype="https://schema.org/Product"]
      .item_swift_productnumber
      .mw-75ch.d-inline-block[itemprop="description"] * {
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        white-space: normal !important;      /* prevent mid-word breaking in children */
    }
    /* Responsive images inside long description */
    main#content[itemtype="https://schema.org/Product"]
      .item_swift_productnumber
      .mw-75ch.d-inline-block[itemprop="description"] img {
        max-width: 100% !important;
        height: auto !important;
        display: block;
    }
    /* Responsive tables – no overflow */
    main#content[itemtype="https://schema.org/Product"]
      .item_swift_productnumber
      .mw-75ch.d-inline-block[itemprop="description"] table {
        width: 100% !important;
        display: block;
        overflow-x: auto;
        box-sizing: border-box;
    }
    /* Product page – force long description to wrap and stay inside viewport */
    main#content[itemtype="https://schema.org/Product"]
      .item_swift_productnumber
      .mw-75ch.d-inline-block[itemprop="description"] {
        max-width: 100% !important;
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
        white-space: normal !important;   /* allow normal wrapping */
        word-break: break-word !important;/* last-resort wrap to avoid overflow */
        overflow-wrap: break-word !important;
    }