/*
FIX NOTES (CSS) — Short comments describing what was fixed for failed checks.
Fix 26: Corrected @font-face src URLs and declarations so local fonts load without console 404s.
Fix 27: Standardised header button colours, sizing and typography to match the target styling.
Fix 28: Added explicit hover state colours/transitions for all header CTA buttons.
Fix 29: Added accessible focus outline/border styling for search fields and controls.
Fix 30: Styled burger control spacing, dimensions and bar appearance for visual parity.
Fix 31: Applied right-corner-only radius to desktop search button while keeping input square-left.
Fix 32: Adjusted desktop header element widths/heights so controls are proportionally sized.
Fix 33: Normalised horizontal gaps between desktop header items using consistent gap utilities.
Fix 34: Added iPad-landscape rules to hide search input and render only search action button.
Fix 35: Added iPad-landscape full-radius styling on standalone search button.
Fix 36: Tuned iPad-landscape header sizing and spacing for balanced control alignment.
Fix 37: Added iPad-portrait rules to show only logo + search + burger controls.
Fix 38: Applied iPad/mobile search button radius split to match requested corner treatment.
Fix 39: Added mobile header layout rules so logo/phone/search/burger align without overlap.
Fix 40: Updated mobile search input styling and removed unwanted focus glow behaviour.
Fix 41: Added nav icon colour/background palettes to match each service colour identity.
Fix 42: Enabled dropdown visibility via hover/focus-within and preserved open state on submenu hover.
Fix 43: Styled dropdown panels into 3-column layouts with titles/icons aligned inside container width.
Fix 44: Added breakpoint rules so nav appears on desktop/landscape and hides on portrait/mobile.
Fix 45: Added banner dark overlay gradient layer to ensure readable text contrast on imagery.
Fix 46: Styled hero button colours/border/icon spacing and matching hover transition behaviour.
Fix 47: Corrected banner text alignment (left on large screens, centred on portrait/mobile).
Fix 48: Styled service cards with border/radius/shadow/circle icons and colour-consistent buttons.
Fix 49: Added service card hover inversion, upward translate and smooth transition timing.
Fix 50: Reworked service/news responsive grids to satisfy required card counts at each breakpoint.
*/
/* Styles @font-face: controls font-family, font-style, font-weight to define this element's appearance and layout. */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    local(""),
    url("../fonts/poppins-v15-latin-regular.woff2") format("woff2");
}
/* Styles @font-face: controls font-family, font-style, font-weight to define this element's appearance and layout. */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:
    local(""),
    url("../fonts/poppins-v15-latin-600.woff2") format("woff2");
}
/* Styles @font-face: controls font-family, font-style, font-weight to define this element's appearance and layout. */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src:
    local(""),
    url("../fonts/poppins-v15-latin-600italic.woff2") format("woff2");
}
/* Styles @font-face: controls font-family, src, font-weight to define this element's appearance and layout. */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src:
    local(""),
    url("../fonts/poppins-latin-900-normal.woff2") format("woff2");
}
/* Styles @font-face: controls font-family, src, font-weight to define this element's appearance and layout. */
@font-face {
  font-family: "icomoon";
  src:
    url("../fonts/icomoon.eot") format("embedded-opentype"),
    url("../fonts/icomoon.ttf") format("truetype"),
    url("../fonts/icomoon.woff") format("woff"),
    url("../fonts/icomoon.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="mc-icon-"],
/* Styles [class*=" mc-icon-"]: controls font-family, font-weight, font-variant to define this element's appearance and layout. */
[class*=" mc-icon-"] {
  font-family: "icomoon" !important;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}
/* Icon glyph for .mc-icon-edit-pencil::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-edit-pencil::before {
  content: "\e908";
}
/* Icon glyph for .mc-icon-bar-graph::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-bar-graph::before {
  content: "\e902";
}
/* Icon glyph for .mc-icon-envelope-o::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-envelope-o::before {
  content: "\f003";
}
/* Icon glyph for .mc-icon-download::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-download::before {
  content: "\f019";
}
/* Icon glyph for .mc-icon-lock::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-lock::before {
  content: "\f023";
}
/* Icon glyph for .mc-icon-question-circle::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-question-circle::before {
  content: "\f059";
}
/* Icon glyph for .mc-icon-random::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-random::before {
  content: "\f074";
}
/* Icon glyph for .mc-icon-shopping-cart::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-shopping-cart::before {
  content: "\f07a";
}
/* Icon glyph for .mc-icon-folder-open::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-folder-open::before {
  content: "\f07c";
}
/* Icon glyph for .mc-icon-cogs::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-cogs::before {
  content: "\f085";
}
/* Icon glyph for .mc-icon-phone::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-phone::before {
  content: "\f095";
}
/* Icon glyph for .mc-icon-phone-square::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-phone-square::before {
  content: "\f098";
}
/* Icon glyph for .mc-icon-bullhorn::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-bullhorn::before {
  content: "\f0a1";
}
/* Icon glyph for .mc-icon-globe::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-globe::before {
  content: "\f0ac";
}
/* Icon glyph for .mc-icon-briefcase::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-briefcase::before {
  content: "\f0b1";
}
/* Icon glyph for .mc-icon-users::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-users::before {
  content: "\f0c0";
}
/* Icon glyph for .mc-icon-cloud::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-cloud::before {
  content: "\f0c2";
}
/* Icon glyph for .mc-icon-flask::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-flask::before {
  content: "\f0c3";
}
/* Icon glyph for .mc-icon-money::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-money::before {
  content: "\f0d6";
}
/* Icon glyph for .mc-icon-dashboard::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-dashboard::before {
  content: "\f0e4";
}
/* Icon glyph for .mc-icon-clipboard::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-clipboard::before {
  content: "\f0ea";
}
/* Icon glyph for .mc-icon-cloud-download::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-cloud-download::before {
  content: "\f0ed";
}
/* Icon glyph for .mc-icon-desktop::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-desktop::before {
  content: "\f108";
}
/* Icon glyph for .mc-icon-laptop1::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-laptop1::before {
  content: "\f109";
}
/* Icon glyph for .mc-icon-mobile::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-mobile::before {
  content: "\f10b";
}
/* Icon glyph for .mc-icon-ticket::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-ticket::before {
  content: "\f145";
}
/* Icon glyph for .mc-icon-handshake-o::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-handshake-o::before {
  content: "\f2b5";
}
/* Icon glyph for .mc-icon-code::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-code::before {
  content: "\e901";
}
/* Icon glyph for .mc-icon-clock::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-clock::before {
  content: "\e909";
}
/* Icon glyph for .mc-icon-headphones::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-headphones::before {
  content: "\e910";
}
/* Icon glyph for .mc-icon-display::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-display::before {
  content: "\e956";
}
/* Icon glyph for .mc-icon-laptop::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-laptop::before {
  content: "\e957";
}
/* Icon glyph for .mc-icon-drive::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-drive::before {
  content: "\e963";
}
/* Icon glyph for .mc-icon-search::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-search::before {
  content: "\e986";
}
/* Icon glyph for .mc-icon-menu::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-menu::before {
  content: "\e9bd";
}
/* Icon glyph for .mc-icon-star-full::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-star-full::before {
  content: "\e9d9";
}
/* Icon glyph for .mc-icon-arrow-right::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-arrow-right::before {
  content: "\ea3c";
}
/* Icon glyph for .mc-icon-tab::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-tab::before {
  content: "\ea45";
}
/* Icon glyph for .mc-icon-facebook::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-facebook::before {
  content: "\ea90";
}
/* Icon glyph for .mc-icon-instagram::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-instagram::before {
  content: "\ea92";
}
/* Icon glyph for .mc-icon-linkedin::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-linkedin::before {
  content: "\eaca";
}
/* Icon glyph for .mc-icon-trending_up::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-trending_up::before {
  content: "\e90a";
}
/* Icon glyph for .mc-icon-school::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-school::before {
  content: "\e904";
}
/* Icon glyph for .mc-icon-security::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-security::before {
  content: "\e905";
}
/* Icon glyph for .mc-icon-mouse::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-mouse::before {
  content: "\e906";
}
/* Icon glyph for .mc-icon-phone_in_talk::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-phone_in_talk::before {
  content: "\e907";
}
/* Icon glyph for .mc-icon-x::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-x::before {
  content: "\e900";
}
/* Icon glyph for .mc-icon-paperplane::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-icon-paperplane::before {
  content: "\e903";
}
/* Styles body: controls margin, font-family, letter-spacing to define this element's appearance and layout. */
body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.4px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
}
/* Styles *: controls box-sizing to define this element's appearance and layout. */
* {
  box-sizing: border-box;
}
/* Styles .mc-website: controls overflow, position, z-index to define this element's appearance and layout. */
.mc-website {
  overflow: hidden;
  position: relative;
  z-index: 10;
  background-color: #fff;
  transition: all 0.5s ease;
  left: 0;
}
/* Styles .mc-menu-is-active: controls left, cursor, transition to define this element's appearance and layout. */
.mc-menu-is-active {
  left: -275px !important;
  cursor: pointer;
  transition: all 0.5s ease;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-menu-is-active: controls left to define this element's appearance and layout. */
  .mc-menu-is-active {
    left: -350px !important;
  }
}
/* Styles .mc-stickyhead-menu-is-active: controls left, cursor, transition to define this element's appearance and layout. */
.mc-stickyhead-menu-is-active {
  left: -275px !important;
  cursor: pointer;
  transition: all 0.5s ease;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-stickyhead-menu-is-active: controls left to define this element's appearance and layout. */
  .mc-stickyhead-menu-is-active {
    left: -350px !important;
  }
}
.mc-menu-is-active::after,
/* Styles .mc-stickyhead-menu-is-active::after: controls position, top, right to define this element's appearance and layout. */
.mc-stickyhead-menu-is-active::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 3000;
  content: "";
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: all 0.5s ease;
}
/* Styles .mc-sticky-header: controls position, width, display to define this element's appearance and layout. */
.mc-sticky-header {
  position: fixed;
  width: 100%;
  display: block;
  background-color: #fff;
  z-index: 2500;
  box-shadow: 0 5px 35px rgba(0, 0, 0, 0.1);
  left: 0;
  transition: all 0.5s ease;
}
/* Styles .mc-head: keeps primary header/nav interactive when sticky header markup is not present. */
.mc-head {
  visibility: visible;
  pointer-events: auto;
}

.mc-head.mc-sticky-active {
  background-color: rgb(51, 54, 69);
}

.mc-head.mc-sticky-active #mc-mainHeader,
.mc-head.mc-sticky-active .mc-main-nav {
  visibility: hidden;
}

.mc-head .mc-main-nav {
  visibility: hidden;
}

.mc-head #mc-mainHeader {
  visibility: hidden;
  background-color: rgb(51, 54, 69);
}

.mc-sticky-header .mc-main-nav {
  visibility: visible !important;
}
/* Styles .mc-hidden-header: controls transition, top, pointer-events to define this element's appearance and layout. */
.mc-hidden-header {
  transition: all 0.8s ease;
  top: var(--mc-sticky-hidden-top, -230px);
  pointer-events: auto !important;
}
/* Styles .mc-visible-header: controls transition, top, pointer-events to define this element's appearance and layout. */
.mc-visible-header {
  transition: all 0.8s ease;
  top: 0;
  pointer-events: auto;
}
/* Styles .mc-hidden: controls display to define this element's appearance and layout. */
.mc-hidden {
  display: none;
}
/* Styles .mc-is-hidden: controls visibility, pointer-events to define this element's appearance and layout. */
/* Styles .mc-no-transition: disables header animation when hidden at top. */
.mc-no-transition {
  transition: none !important;
  top: var(--mc-sticky-hidden-top, -230px);
}
.mc-is-hidden {
  visibility: hidden;
  pointer-events: none !important;
}

.mc-hidden-header.mc-is-hidden {
  pointer-events: auto !important;
}
/* Styles .mc-container: controls margin-right, margin-left, padding-left to define this element's appearance and layout. */
.mc-container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-container: controls width to define this element's appearance and layout. */
  .mc-container {
    width: 750px;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-container: controls width to define this element's appearance and layout. */
  .mc-container {
    width: 970px;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles .mc-container: controls width to define this element's appearance and layout. */
  .mc-container {
    width: 1200px;
  }
}
/* Styles .mc-container-bottom: controls padding-left, padding-right, display to define this element's appearance and layout. */
.mc-container-bottom {
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
  margin-left: 0;
  margin-right: 0;
  flex-direction: column;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-container-bottom: controls width, margin-right, margin-left to define this element's appearance and layout. */
  .mc-container-bottom {
    width: 750px;
    margin-right: auto;
    margin-left: auto;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-container-bottom: controls width to define this element's appearance and layout. */
  .mc-container-bottom {
    width: 970px;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles .mc-container-bottom: controls width to define this element's appearance and layout. */
  .mc-container-bottom {
    width: 1200px;
  }
}
/* Styles .mc-section: controls padding-top, padding-bottom to define this element's appearance and layout. */
.mc-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
/* Styles a: controls cursor, text-decoration to define this element's appearance and layout. */
a {
  cursor: pointer;
  text-decoration: none;
}
/* Styles a:focus: controls a, outline to define this element's appearance and layout. */
a:focus {
  outline: thin dotted;
}
a:link,
a:any-link,
a:active,
a:focus,
/* Styles a:visited: controls a, color to define this element's appearance and layout. */
a:visited {
  color: inherit;
}
/* Styles button: controls cursor, font-family to define this element's appearance and layout. */
button {
  cursor: pointer;
  font-family: inherit;
}
/* Styles p: controls font-size, line-height, font-weight to define this element's appearance and layout. */
p {
  font-size: 0.8125rem;
  line-height: 1.375rem;
  font-weight: 400;
}
/* Styles p a:hover: controls text-decoration to define this element's appearance and layout. */
p a:hover {
  text-decoration: underline;
}
h2,
h3,
/* Styles h4: controls line-height, font-weight to define this element's appearance and layout. */
h4 {
  line-height: 1.1;
  font-weight: 400;
}
/* Styles h1: controls font-size, font-weight to define this element's appearance and layout. */
h1 {
  font-size: 2.25rem;
  font-weight: 600;
}
/* Styles h2: controls font-size to define this element's appearance and layout. */
h2 {
  font-size: 2.25rem;
}
/* Styles h3: controls font-size to define this element's appearance and layout. */
h3 {
  font-size: 1.125rem;
}
/* Styles h4: controls font-size, line-height to define this element's appearance and layout. */
h4 {
  font-size: 1rem;
  line-height: 1.125rem;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
/* Styles h4 a:hover: controls text-decoration to define this element's appearance and layout. */
h4 a:hover {
  text-decoration: underline;
}
/* Styles ul: controls list-style, text-decoration to define this element's appearance and layout. */
ul {
  list-style: none;
  text-decoration: none;
}
/* Styles strong: controls font-weight to define this element's appearance and layout. */
strong {
  font-weight: 600;
}
input,
textarea,
/* Styles select: controls font-family to define this element's appearance and layout. */
select {
  font-family: inherit;
}
/* Styles header: controls background-color, color to define this element's appearance and layout. */
header {
  background-color: #fff;
}
/* Styles header .mc-header-inner: controls padding to define this element's appearance and layout. */
header .mc-header-inner {
  padding: 20px 0;
}
/* Styles header .mc-header-inner .mc-header-row: controls display, margin, align-items to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row {
  display: flex;
  margin: 0;
  align-items: center;
  height: 70px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-header-row: controls margin to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row {
    margin: 0 -15px;
  }
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-logo: controls display, margin, padding to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-logo {
  display: flex;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 70px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-logo: controls width, padding to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-logo {
    width: 50%;
    padding: 0 15px;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-logo: controls width to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-logo {
    width: 41.66666667%;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-logo: controls width to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-logo {
    width: 33.33333333%;
  }
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-logo a img: controls max-width to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-logo a {
  display: flex;
  align-items: center;
  height: 100%;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-logo a img: controls max-width to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-logo a img {
  display: block;
  max-width: 100%;
}
/* Styles header .mc-header-inner .mc-header-row .mc-hidden-mobile: controls padding, max-width, font-size to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-hidden-mobile {
  padding: 0;
  max-width: 100%;
  font-size: 2rem;
  margin-left: 15px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-header-row .mc-hidden-mobile: controls display to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-hidden-mobile {
    display: none;
  }
}
/* Styles header .mc-header-inner .mc-header-row .mc-hidden-mobile a: controls color to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-hidden-mobile a {
  color: #333645;
}
header .mc-header-inner .mc-header-row .mc-hidden-mobile a:hover,
/* Styles header .mc-header-inner .mc-header-row .mc-hidden-mobile a:focus: controls color to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-hidden-mobile a:focus {
  color: #121419;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons: controls padding, margin to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons {
  padding: 0;
  margin: 0;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons: controls width, padding to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons {
    width: 50%;
    padding: 0 15px;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons: controls padding, width to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons {
    padding: 0 15px;
    width: 58.33333333%;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons: controls width to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons {
    width: 66.66666667%;
  }
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact: controls display, justify-content, flex-direction to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact {
  display: flex;
  justify-content: right;
  flex-direction: row;
  align-items: center;
  padding: 0;
  margin: 0;
  padding: 7px 0;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact: controls justify-content to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact {
    justify-content: right;
  }
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-header-btn: controls font-size, font-weight, line-height to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-header-btn {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.875rem;
  height: 56px;
  padding: 5px 15px;
  margin-left: 20px;
  border-radius: 3px;
  text-transform: uppercase;
  text-align: center;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-header-btn span: controls align-self, font-size, margin-right to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-header-btn span {
  align-self: center;
  font-size: 1.438rem;
  margin-right: 5px;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-support: controls background-color, color, display to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-support {
  background-color: #4183d7;
  color: #fff;
  display: none;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-support: controls display, margin-left to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-support {
    display: flex;
    margin-left: 0;
  }
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
/* Styles .mc-button-support:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-button-support:hover {
  background-color: #2a6ec6;
  color: #fff;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-contact: controls background-color, color, display to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-contact {
  background-color: #999aa2;
  color: #fff;
  display: none;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-contact: controls display to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-contact {
    display: flex;
  }
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
/* Styles .mc-button-contact:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-button-contact:hover {
  background-color: #84858f;
  color: #fff;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search: controls display, height, margin-left to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search {
  display: none;
  height: 56px;
  margin-left: 20px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search: controls display to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search {
    display: flex;
  }
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search label: controls display to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search label {
  display: none;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search .mc-form-search: controls display, color, font-size to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search .mc-form-search {
  display: inline-flex;
  color: #555;
  font-size: 0.875rem;
  line-height: 1.5rem;
  padding: 5px 15px;
  width: 174px;
  cursor: text;
  background-color: #fff;
  border: 1px solid #ccc;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
  header
    .mc-header-inner
    .mc-header-row
    .mc-header-buttons
    .mc-contact
    .mc-search
/* Styles .mc-form-search: controls width to define this element's appearance and layout. */
    .mc-form-search {
    width: 240px;
  }
}
/* Responsive block for @media (min-width: 992px) and (max-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) and (max-width: 1260px) {
  header
    .mc-header-inner
    .mc-header-row
    .mc-header-buttons
    .mc-contact
    .mc-search
/* Styles .mc-form-search: controls display to define this element's appearance and layout. */
    .mc-form-search {
    display: none;
  }
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-search
/* Styles .mc-form-search:focus: controls border-color, outline, box-shadow to define this element's appearance and layout. */
  .mc-form-search:focus {
  border-color: #5bc0de;
  outline: 0;
  box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(91, 192, 222, 0.6);
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-search
/* Styles .mc-form-search::placeholder: controls color to define this element's appearance and layout. */
  .mc-form-search::placeholder {
  color: #888;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-search
/* Styles .mc-search-submit: controls padding, height, border-radius to define this element's appearance and layout. */
  .mc-search-submit {
  padding: 7px 20px 3px;
  height: 56px;
  border-radius: 0 3px 3px 0;
  border: none;
  background-color: #999aa2;
  color: #fff;
  text-align: center;
}
/* Responsive block for @media (min-width: 992px) and (max-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) and (max-width: 1260px) {
  header
    .mc-header-inner
    .mc-header-row
    .mc-header-buttons
    .mc-contact
    .mc-search
/* Styles .mc-search-submit: controls border-radius to define this element's appearance and layout. */
    .mc-search-submit {
    border-radius: 3px;
  }
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-search
  .mc-search-submit
/* Styles span: controls font-size to define this element's appearance and layout. */
  span {
  font-size: 1.4375rem;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-search
/* Styles .mc-search-submit:hover: controls background-color to define this element's appearance and layout. */
  .mc-search-submit:hover {
  background-color: #7e808a;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-hamburger: controls font-size, line-height, font-weight to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-button-hamburger {
  font-size: 1.125rem;
  line-height: 2.875rem;
  font-weight: 400;
  height: 56px;
  max-width: 63px;
  padding: 5px 14px;
  border-radius: 3px;
  margin-left: 20px;
  white-space: normal;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  border: none;
  background-color: #333645;
  color: #fff;
  text-align: center;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
/* Styles .mc-hamburger-box: controls display, width, height to define this element's appearance and layout. */
  .mc-hamburger-box {
  display: block;
  width: 33px;
  height: 19px;
  position: relative;
  text-align: center;
  float: left;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Styles .mc-hamburger-inner: controls background-color, color, border-radius to define this element's appearance and layout. */
  .mc-hamburger-inner {
  background-color: #fff;
  border-radius: 0;
  font-size: 1.438rem;
  line-height: 2.8125rem;
  width: 33px;
  height: 4px;
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -1.5px;
  margin-right: 0;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Styles .mc-hamburger-inner::after: controls bottom, transition to define this element's appearance and layout. */
  .mc-hamburger-inner::after {
  bottom: -10px;
  transition:
    bottom 0.1s ease-in 0.25s,
    transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
  .mc-hamburger-inner::after,
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Icon glyph for .mc-hamburger-inner::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
  .mc-hamburger-inner::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 33px;
  height: 4px;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Icon glyph for .mc-hamburger-inner::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
  .mc-hamburger-inner::before {
  top: -10px;
  transition:
    top 0.1s ease-in 0.25s,
    opacity 0.1s ease-in;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Styles .mc-close-menu: controls transform, transition-delay, transition-duration to define this element's appearance and layout. */
  .mc-close-menu {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Icon glyph for .mc-close-menu::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
  .mc-close-menu::before {
  top: 0;
  opacity: 0;
  transition:
    top 0.1s ease-out,
    opacity 0.1s ease-out 0.12s;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
  .mc-close-menu::after,
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Icon glyph for .mc-close-menu::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
  .mc-close-menu::before {
  content: "";
  display: block;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
  .mc-button-hamburger
  .mc-hamburger-box
/* Styles .mc-close-menu::after: controls bottom, transform, transition to define this element's appearance and layout. */
  .mc-close-menu::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition:
    bottom 0.1s ease-out,
    transform 0.22s cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
}
header
  .mc-header-inner
  .mc-header-row
  .mc-header-buttons
  .mc-contact
/* Styles .mc-button-hamburger:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-button-hamburger:hover {
  background-color: #22242e;
  color: #fff;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-mobile-contact: controls display to define this element's appearance and layout. */
  header .mc-header-inner .mc-mobile-contact {
    display: none;
  }
}
/* Styles header .mc-header-inner .mc-mobile-contact .mc-mobile-search: controls height, margin-top, position to define this element's appearance and layout. */
header .mc-header-inner .mc-mobile-contact .mc-mobile-search {
  height: 47px;
  margin-top: 11px;
  position: relative;
}
/* Styles header .mc-header-inner .mc-mobile-contact .mc-mobile-search .mc-hidden-label: controls display to define this element's appearance and layout. */
header .mc-header-inner .mc-mobile-contact .mc-mobile-search .mc-hidden-label {
  display: none;
}
/* Styles header .mc-header-inner .mc-mobile-contact .mc-mobile-search .mc-mobile-form-search: controls display, outline, font-size to define this element's appearance and layout. */
header .mc-header-inner .mc-mobile-contact .mc-mobile-search .mc-mobile-form-search {
  display: inline-block;
  outline: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  line-height: 1.3125rem;
  color: #555;
  height: 46px;
  padding: 5px 40px 5px 15px;
  cursor: text;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
header
  .mc-header-inner
  .mc-mobile-contact
  .mc-mobile-search
/* Styles .mc-mobile-form-search::placeholder: controls color to define this element's appearance and layout. */
  .mc-mobile-form-search::placeholder {
  color: #888;
}
/* Styles header .mc-header-inner .mc-mobile-contact .mc-mobile-search .mc-mobile-submit: controls display, align-items, justify-content to define this element's appearance and layout. */
header .mc-header-inner .mc-mobile-contact .mc-mobile-search .mc-mobile-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  height: 47px;
  font-size: 1.25rem;
  line-height: 2.9375rem;
  color: #333645;
  position: absolute;
  right: 7px;
  background: none;
  border: none;
}
/* Styles footer: controls background-color, color, padding to define this element's appearance and layout. */
footer {
  background-color: #323544;
  color: #fff;
  padding: 47px 0 0;
  position: relative;
}
/* Styles footer .mc-footer-row: controls display, flex-wrap to define this element's appearance and layout. */
footer .mc-footer-row {
  display: flex;
  flex-wrap: wrap;
}
/* Styles footer .mc-footer-row .mc-footer-company-info: controls display, flex-wrap, justify-content to define this element's appearance and layout. */
footer .mc-footer-row .mc-footer-company-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 0.8125rem;
  width: 300px;
  width: 100%;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles footer .mc-footer-row .mc-footer-company-info: controls flex-wrap to define this element's appearance and layout. */
  footer .mc-footer-row .mc-footer-company-info {
    flex-wrap: nowrap;
  }
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles footer .mc-footer-row .mc-footer-company-info: controls width to define this element's appearance and layout. */
  footer .mc-footer-row .mc-footer-company-info {
    width: 50%;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles footer .mc-footer-row .mc-footer-company-info: controls width to define this element's appearance and layout. */
  footer .mc-footer-row .mc-footer-company-info {
    width: 25%;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles footer .mc-footer-row .mc-footer-company-info: controls width to define this element's appearance and layout. */
  footer .mc-footer-row .mc-footer-company-info {
    width: 400px;
  }
}
/* Styles footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box: controls width to define this element's appearance and layout. */
footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box {
  width: auto;
}
/* Styles footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-footer-logo: controls width to define this element's appearance and layout. */
footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-footer-logo {
  width: 250px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-footer-logo: controls width to define this element's appearance and layout. */
  footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-footer-logo {
    width: 320px;
  }
}
/* Styles footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-footer-logo img: controls width to define this element's appearance and layout. */
footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-footer-logo img {
  width: 100%;
}
/* Styles footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-social-media h4: controls text-transform, margin-bottom, margin-top to define this element's appearance and layout. */
footer .mc-footer-row .mc-footer-company-info .mc-footer-company-box .mc-social-media h4 {
  text-transform: uppercase;
  margin-bottom: 26px;
  margin-top: 24px;
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
/* Styles .mc-social-media-buttons: controls display, flex-direction, flex-wrap to define this element's appearance and layout. */
  .mc-social-media-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
  footer
    .mc-footer-row
    .mc-footer-company-info
    .mc-footer-company-box
    .mc-social-media
/* Styles .mc-social-media-buttons: controls width, flex-wrap to define this element's appearance and layout. */
    .mc-social-media-buttons {
    width: 90%;
    flex-wrap: nowrap;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
  footer
    .mc-footer-row
    .mc-footer-company-info
    .mc-footer-company-box
    .mc-social-media
/* Styles .mc-social-media-buttons: controls width, flex-wrap to define this element's appearance and layout. */
    .mc-social-media-buttons {
    width: 100%;
    flex-wrap: nowrap;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
  footer
    .mc-footer-row
    .mc-footer-company-info
    .mc-footer-company-box
    .mc-social-media
/* Styles .mc-social-media-buttons: controls width, margin-bottom to define this element's appearance and layout. */
    .mc-social-media-buttons {
    width: auto;
    margin-bottom: 0;
  }
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
  .mc-social-media-buttons
/* Styles a: controls border-color, background-color, font-size to define this element's appearance and layout. */
  a {
  border-color: #333645;
  background-color: #212330;
  font-size: 1.625rem;
  line-height: 1.625rem;
  text-align: center;
  padding: 12px 22px 16px;
  margin-right: 10px;
  margin-bottom: 10px;
  width: 35%;
}
/* Responsive block for @media (min-width: 480px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 480px) {
  footer
    .mc-footer-row
    .mc-footer-company-info
    .mc-footer-company-box
    .mc-social-media
    .mc-social-media-buttons
/* Styles a: controls width to define this element's appearance and layout. */
    a {
    width: auto;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
  footer
    .mc-footer-row
    .mc-footer-company-info
    .mc-footer-company-box
    .mc-social-media
    .mc-social-media-buttons
/* Styles a: controls margin-right, margin-bottom to define this element's appearance and layout. */
    a {
    margin-right: 7px;
    margin-bottom: 0;
  }
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
  .mc-social-media-buttons
/* Styles .mc-social-facebook:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-social-facebook:hover {
  background-color: #3b5998;
  color: #fff;
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
  .mc-social-media-buttons
/* Styles .mc-social-linkedin:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-social-linkedin:hover {
  background-color: #0077b5;
  color: #fff;
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
  .mc-social-media-buttons
/* Styles .mc-social-twitter:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-social-twitter:hover {
  background-color: #00aced;
  color: #fff;
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
  .mc-social-media-buttons
/* Styles .mc-social-Instagram:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-social-Instagram:hover {
  background-color: #d93175;
  color: #fff;
}
footer
  .mc-footer-row
  .mc-footer-company-info
  .mc-footer-company-box
  .mc-social-media
  .mc-social-media-buttons
  a
/* Styles span: controls position, top to define this element's appearance and layout. */
  span {
  position: relative;
  top: 4px;
}
/* Styles footer .mc-footer-menu-row: controls display, flex-wrap, margin to define this element's appearance and layout. */
footer .mc-footer-menu-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles footer .mc-footer-menu-row: controls flex-grow to define this element's appearance and layout. */
  footer .mc-footer-menu-row {
    flex-grow: 1;
  }
}
/* Styles footer .mc-footer-menu-row .mc-footer-menu: controls flex, padding, margin-bottom to define this element's appearance and layout. */
footer .mc-footer-menu-row .mc-footer-menu {
  flex: 100%;
  padding: 0 15px;
  margin-bottom: 30px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles footer .mc-footer-menu-row .mc-footer-menu: controls flex to define this element's appearance and layout. */
  footer .mc-footer-menu-row .mc-footer-menu {
    flex: 50%;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles footer .mc-footer-menu-row .mc-footer-menu: controls flex to define this element's appearance and layout. */
  footer .mc-footer-menu-row .mc-footer-menu {
    flex: 25%;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles footer .mc-footer-menu-row .mc-footer-menu: controls flex, margin-bottom to define this element's appearance and layout. */
  footer .mc-footer-menu-row .mc-footer-menu {
    flex: 25%;
    margin-bottom: 40px;
  }
}
/* Styles footer .mc-footer-menu-row .mc-footer-menu h4: controls text-transform, font-size, margin-bottom to define this element's appearance and layout. */
footer .mc-footer-menu-row .mc-footer-menu h4 {
  text-transform: uppercase;
  font-size: 0.9375rem;
  margin-bottom: 26px;
  margin-top: 0;
}
/* Styles footer .mc-footer-menu-row .mc-footer-menu ul: controls display, padding, margin to define this element's appearance and layout. */
footer .mc-footer-menu-row .mc-footer-menu ul {
  display: block;
  padding: 0;
  margin: 0;
}
/* Styles footer .mc-footer-menu-row .mc-footer-menu ul li: controls font-size, line-height to define this element's appearance and layout. */
footer .mc-footer-menu-row .mc-footer-menu ul li {
  font-size: 0.8125rem;
  line-height: 1.375rem;
}
/* Styles footer .mc-footer-menu-row .mc-footer-menu ul li a:hover: controls text-decoration to define this element's appearance and layout. */
footer .mc-footer-menu-row .mc-footer-menu ul li a:hover {
  text-decoration: underline;
}
/* Styles footer .mc-footer-menu-row .mc-footer-menu ul li a:focus: controls color to define this element's appearance and layout. */
footer .mc-footer-menu-row .mc-footer-menu ul li a:focus {
  color: #121419;
}
/* Styles nav: controls background-color, display, position to define this element's appearance and layout. */
nav {
  background-color: #333645;
  display: none;
  position: relative;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles nav: controls display to define this element's appearance and layout. */
  nav {
    display: block;
  }
}
/* Styles nav .mc-main-nav: controls display, flex-direction, margin to define this element's appearance and layout. */
nav .mc-main-nav {
  display: flex;
  flex-direction: row;
  margin: 0;
  padding: 0;
  position: relative;
}
/* Styles nav .mc-main-nav .mc-main-nav-item: controls text-align, flex to define this element's appearance and layout. */
nav .mc-main-nav .mc-main-nav-item {
  text-align: center;
  flex: 1;
}
/* Styles nav .mc-main-nav .mc-main-nav-item .mc-nav-item: controls color, display, font-size to define this element's appearance and layout. */
nav .mc-main-nav .mc-main-nav-item .mc-nav-item {
  color: #fff;
  display: block;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 300;
  padding: 19px 0 18px;
  position: relative;
  text-transform: uppercase;
}
/* Styles nav .mc-main-nav .mc-main-nav-item .mc-nav-item .mc-nav-icon: controls display, font-size, padding-bottom to define this element's appearance and layout. */
nav .mc-main-nav .mc-main-nav-item .mc-nav-item .mc-nav-icon {
  display: block;
  font-size: 1.4375rem;
  padding-bottom: 10px;
}
/* Styles nav .mc-main-nav .mc-main-nav-item .mc-nav-item small: controls display, font-size to define this element's appearance and layout. */
nav .mc-main-nav .mc-main-nav-item .mc-nav-item small {
  display: block;
  font-size: 0.625rem;
}
/* Styles nav .mc-main-nav li:hover .mc-nav-item .mc-nav-icon: controls color to define this element's appearance and layout. */
nav .mc-main-nav li:hover .mc-nav-item .mc-nav-icon {
  color: #fff;
}
/* Icon glyph for nav .mc-main-nav li:hover .mc-nav-item::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
nav .mc-main-nav li:hover .mc-nav-item::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -35px;
  transform: translateX(-50%);
  z-index: 90;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 68px 0;
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Icon glyph for nav .mc-main-nav li:hover .mc-nav-item::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
  nav .mc-main-nav li:hover .mc-nav-item::before {
    border-width: 35px 83.5px 0;
  }
}
/* Styles .mc-sub-nav: controls display, margin, position to define this element's appearance and layout. */
.mc-sub-nav {
  display: none;
  margin: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 10;
  padding: 50px 0;
}
/* Styles .mc-sub-nav .mc-sub-nav-list: controls display, flex-wrap, align-items to define this element's appearance and layout. */
.mc-sub-nav .mc-sub-nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: -15px;
  text-align: left;
  padding: 0;
  margin-bottom: 0;
  color: #fff;
}
/* Styles .mc-sub-nav .mc-sub-nav-list .mc-sub-nav-title: controls display, font-size, line-height to define this element's appearance and layout. */
.mc-sub-nav .mc-sub-nav-list .mc-sub-nav-title {
  display: block;
  font-size: 2rem;
  line-height: 1.0625rem;
  width: 100%;
  margin-bottom: 10px;
  margin-top: 15px;
  font-weight: 500;
  text-align: left;
}
/* Styles .mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link: controls width, margin-top, font-size to define this element's appearance and layout. */
.mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link {
  width: 33%;
  margin-top: 15px;
  font-size: 1.125rem;
  line-height: 1.3125rem;
}
/* Styles .mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link a: controls padding, display, align-items to define this element's appearance and layout. */
.mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link a {
  padding: 10px 15px 10px 0;
  display: flex;
  align-items: center;
}
/* Styles .mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link a .mc-link-text: controls margin-left to define this element's appearance and layout. */
.mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link a .mc-link-text {
  margin-left: 10px;
}
/* Styles .mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link a:hover: controls text-decoration to define this element's appearance and layout. */
.mc-sub-nav .mc-sub-nav-list .mc-sub-nav-link a:hover {
  text-decoration: underline;
}
/* Styles .mc-banner: controls margin-bottom to define this element's appearance and layout. */
.mc-banner {
  margin-bottom: 0;
  position: relative;
  min-height: 550px;
  overflow: hidden;
}
/* Styles .mc-banner .mc-banner-slide: controls display, flex-direction, justify-content to define this element's appearance and layout. */
.mc-banner .mc-banner-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-height: 550px;
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.85s linear;
  will-change: transform;
  backface-visibility: hidden;
}
.mc-banner .mc-banner-slide.is-active {
  pointer-events: auto;
}
/* Styles .mc-banner .mc-banner-slide .mc-content: controls color, text-align, padding to define this element's appearance and layout. */
.mc-banner .mc-banner-slide .mc-content {
  color: #fff;
  text-align: center;
  padding: 105px 0;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner .mc-banner-slide .mc-content: controls padding, text-align to define this element's appearance and layout. */
  .mc-banner .mc-banner-slide .mc-content {
    padding: 60px 0;
    text-align: left;
  }
}
/* Styles .mc-banner .mc-banner-slide .mc-content h1: controls font-size, line-height, margin to define this element's appearance and layout. */
.mc-banner .mc-banner-slide .mc-content h1 {
  font-size: 2.5rem;
  line-height: 3rem;
  margin: 0 0 20px;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner .mc-banner-slide .mc-content h1: controls font-size, line-height to define this element's appearance and layout. */
  .mc-banner .mc-banner-slide .mc-content h1 {
    font-size: 4rem;
    line-height: 5rem;
  }
}
/* Styles .mc-banner .mc-banner-slide .mc-content p: controls font-size, font-weight, line-height to define this element's appearance and layout. */
.mc-banner .mc-banner-slide .mc-content p {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.75rem;
  margin-bottom: 6px;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner .mc-banner-slide .mc-content p: controls font-size, line-height to define this element's appearance and layout. */
  .mc-banner .mc-banner-slide .mc-content p {
    font-size: 1.625rem;
    line-height: 2.5rem;
  }
}
/* Styles .mc-banner .mc-banner-slide .mc-content .mc-button-banner: controls display, margin, padding to define this element's appearance and layout. */
.mc-banner .mc-banner-slide .mc-content .mc-button-banner {
  display: inline-block;
  margin: 31px 0 18px;
  padding: 5px 20px;
  font-size: 1.25rem;
  line-height: 3.125rem;
  border-radius: 3px;
  text-transform: uppercase;
}
/* Styles .mc-banner .mc-banner-slide .mc-content .mc-button-banner span: controls margin-left to define this element's appearance and layout. */
.mc-banner .mc-banner-slide .mc-content .mc-button-banner span {
  margin-left: 12px;
}
/* Styles .mc-banner1: controls background-image to define this element's appearance and layout. */
.mc-banner1 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-YLei.png");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner1: controls background-image to define this element's appearance and layout. */
  .mc-banner1 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-YLei.png");
  }
}
/* Styles .mc-banner1 .mc-company-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner1 .mc-company-button {
  background-color: #926fb1;
  color: #fff;
}
/* Styles .mc-banner1 .mc-company-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner1 .mc-company-button:hover {
  background-color: #7e57a0;
  color: #fff;
}
/* Styles .mc-banner2: controls background-image to define this element's appearance and layout. */
.mc-banner2 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-O67Y.jpg");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner2: controls background-image to define this element's appearance and layout. */
  .mc-banner2 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-O67Y.jpg");
  }
}
/* Styles .mc-banner2 .mc-bespoke-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner2 .mc-bespoke-button {
  background-color: #f7b322;
  color: #fff;
}
/* Styles .mc-banner2 .mc-bespoke-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner2 .mc-bespoke-button:hover {
  background-color: #e8a008;
  color: #fff;
}
/* Styles .mc-banner3: controls background-image to define this element's appearance and layout. */
.mc-banner3 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-gay8.png");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner3: controls background-image to define this element's appearance and layout. */
  .mc-banner3 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-gay8.png");
  }
}
/* Styles .mc-banner3 .mc-itsupport-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner3 .mc-itsupport-button {
  background-color: #4183d7;
  color: #fff;
}
/* Styles .mc-banner3 .mc-itsupport-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner3 .mc-itsupport-button:hover {
  background-color: #2a6ec6;
  color: #fff;
}
/* Styles .mc-banner4: controls background-image to define this element's appearance and layout. */
.mc-banner4 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-6yTp.png");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner4: controls background-image to define this element's appearance and layout. */
  .mc-banner4 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-6yTp.png");
  }
}
/* Styles .mc-banner4 .mc-digitalmarketing-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner4 .mc-digitalmarketing-button {
  background-color: #2ecc71;
  color: #fff;
}
/* Styles .mc-banner4 .mc-digitalmarketing-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner4 .mc-digitalmarketing-button:hover {
  background-color: #26ab5f;
  color: #fff;
}
/* Styles .mc-banner5: controls background-image to define this element's appearance and layout. */
.mc-banner5 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-J8Xx.png");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner5: controls background-image to define this element's appearance and layout. */
  .mc-banner5 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-J8Xx.png");
  }
}
/* Styles .mc-banner5 .mc-telecomservices-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner5 .mc-telecomservices-button {
  background-color: #d64541;
  color: #fff;
}
/* Styles .mc-banner5 .mc-telecomservices-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner5 .mc-telecomservices-button:hover {
  background-color: #c42e2a;
  color: #fff;
}
/* Styles .mc-banner6: controls background-image to define this element's appearance and layout. */
.mc-banner6 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-K0pn.jpg");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner6: controls background-image to define this element's appearance and layout. */
  .mc-banner6 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-K0pn.jpg");
  }
}
/* Styles .mc-banner6 .mc-webdesign-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner6 .mc-webdesign-button {
  background-color: #926fb1;
  color: #fff;
}
/* Styles .mc-banner6 .mc-webdesign-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner6 .mc-webdesign-button:hover {
  background-color: #7e57a0;
  color: #fff;
}
/* Styles .mc-banner7: controls background-image to define this element's appearance and layout. */
.mc-banner7 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../img/home-MSxH.png");
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-banner7: controls background-image to define this element's appearance and layout. */
  .mc-banner7 {
    background-image:
      linear-gradient(270deg, transparent 25%, #000),
      url("../img/home-MSxH.png");
  }
}
/* Styles .mc-banner7 .mc-cybersecurity-button: controls background-color, color to define this element's appearance and layout. */
.mc-banner7 .mc-cybersecurity-button {
  background-color: #f62459;
  color: #fff;
}
/* Styles .mc-banner7 .mc-cybersecurity-button:hover: controls background-color, color to define this element's appearance and layout. */
.mc-banner7 .mc-cybersecurity-button:hover {
  background-color: #e80a42;
  color: #fff;
}
/* Styles .mc-banner .mc-banner-controls: controls position, bottom, left to define this element's appearance and layout. */
.mc-banner .mc-banner-controls {
  position: absolute;
  bottom: 24px;
  left: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 4px;
  transform: translateX(-50%);
}
/* Styles .mc-banner .mc-banner-controls .mc-banner-dot: controls width, height, border to define this element's appearance and layout. */
.mc-banner .mc-banner-controls .mc-banner-dot {
  width: 22px;
  height: 22px;
  border: 2px solid transparent;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
}
/* Styles .mc-banner .mc-banner-controls .mc-banner-dot::before: controls content, width, height to define this element's appearance and layout. */
.mc-banner .mc-banner-controls .mc-banner-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  opacity: 0.6;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* Styles .mc-banner .mc-banner-controls .mc-banner-dot.is-active: controls border-color to define this element's appearance and layout. */
.mc-banner .mc-banner-controls .mc-banner-dot.is-active {
  border-color: #fff;
}
/* Styles .mc-banner .mc-banner-controls .mc-banner-dot.is-active::before: controls opacity to define this element's appearance and layout. */
.mc-banner .mc-banner-controls .mc-banner-dot.is-active::before {
  opacity: 1;
}
/* Styles .mc-banner .mc-banner-controls .mc-banner-dot:focus-visible: controls outline to define this element's appearance and layout. */
.mc-banner .mc-banner-controls .mc-banner-dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
/* Styles .mc-CD span: controls color to define this element's appearance and layout. */
.mc-CD span {
  color: #67809f;
}
/* Styles .mc-ITS span: controls color to define this element's appearance and layout. */
.mc-ITS span {
  color: #4183d7;
}
/* Styles .mc-DM span: controls color to define this element's appearance and layout. */
.mc-DM span {
  color: #2ecc71;
}
/* Styles .mc-TS span: controls color to define this element's appearance and layout. */
.mc-TS span {
  color: #d64541;
}
/* Styles .mc-WD span: controls color to define this element's appearance and layout. */
.mc-WD span {
  color: #926fb1;
}
/* Styles .mc-CS span: controls color to define this element's appearance and layout. */
.mc-CS span {
  color: #f62459;
}
/* Styles .mc-DC span: controls color to define this element's appearance and layout. */
.mc-DC span {
  color: #ce4125;
}
/* Styles .mc-consultancy:hover: controls background-color to define this element's appearance and layout. */
.mc-consultancy:hover {
  background-color: #67809f;
}
/* Styles .mc-consultancy:hover .mc-sub-nav-CD: controls background-color, display to define this element's appearance and layout. */
.mc-consultancy:hover .mc-sub-nav-CD {
  background-color: #526781;
  display: block;
}
/* Icon glyph for .mc-consultancy:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-consultancy:hover a::before {
  border-color: #67809f transparent transparent;
}
/* Styles .mc-itsupport:hover: controls background-color to define this element's appearance and layout. */
.mc-itsupport:hover {
  background-color: #4183d7;
}
/* Styles .mc-itsupport:hover .mc-sub-nav-ITS: controls background-color, display to define this element's appearance and layout. */
.mc-itsupport:hover .mc-sub-nav-ITS {
  background-color: #286abd;
  display: block;
}
/* Icon glyph for .mc-itsupport:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-itsupport:hover a::before {
  border-color: #4183d7 transparent transparent;
}
/* Styles .mc-digital:hover: controls background-color to define this element's appearance and layout. */
.mc-digital:hover {
  background-color: #2ecc71;
}
/* Styles .mc-digital:hover .mc-sub-nav-DM: controls background-color, display to define this element's appearance and layout. */
.mc-digital:hover .mc-sub-nav-DM {
  background-color: #25a25a;
  display: block;
}
/* Icon glyph for .mc-digital:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-digital:hover a::before {
  border-color: #2ecc71 transparent transparent;
}
/* Styles .mc-telecoms:hover: controls background-color to define this element's appearance and layout. */
.mc-telecoms:hover {
  background-color: #d64541;
}
/* Styles .mc-telecoms:hover .mc-sub-nav-TS: controls background-color, display to define this element's appearance and layout. */
.mc-telecoms:hover .mc-sub-nav-TS {
  background-color: #bc2c28;
  display: block;
}
/* Icon glyph for .mc-telecoms:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-telecoms:hover a::before {
  border-color: #d64541 transparent transparent;
}
/* Styles .mc-webdesign:hover: controls background-color to define this element's appearance and layout. */
.mc-webdesign:hover {
  background-color: #926fb1;
}
/* Styles .mc-webdesign:hover .mc-sub-nav-WD: controls background-color, display to define this element's appearance and layout. */
.mc-webdesign:hover .mc-sub-nav-WD {
  background-color: #79539a;
  display: block;
}
/* Icon glyph for .mc-webdesign:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-webdesign:hover a::before {
  border-color: #926fb1 transparent transparent;
}
/* Styles .mc-cyber:hover: controls background-color to define this element's appearance and layout. */
.mc-cyber:hover {
  background-color: #f62459;
}
/* Styles .mc-cyber:hover .mc-sub-nav-CS: controls background-color, display to define this element's appearance and layout. */
.mc-cyber:hover .mc-sub-nav-CS {
  background-color: #de093f;
  display: block;
}
/* Icon glyph for .mc-cyber:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-cyber:hover a::before {
  border-color: #f62459 transparent transparent;
}
/* Styles .mc-developer:hover: controls background-color to define this element's appearance and layout. */
.mc-developer:hover {
  background-color: #ce4125;
}
/* Styles .mc-developer:hover .mc-sub-nav-DC: controls background-color, display to define this element's appearance and layout. */
.mc-developer:hover .mc-sub-nav-DC {
  background-color: #a3331d;
  display: block;
}
/* Icon glyph for .mc-developer:hover a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-developer:hover a::before {
  border-color: #ce4125 transparent transparent;
}
/* Styles .mc-bottom: controls background-color, display, justify-content to define this element's appearance and layout. */
.mc-bottom {
  background-color: #212330;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-top: 10px;
  font-size: 0.8125rem;
  color: #fff;
}
/* Styles .mc-bottom .mc-license: controls display, width, padding-bottom to define this element's appearance and layout. */
.mc-bottom .mc-license {
  display: flex;
  width: 100%;
  padding-bottom: 10px;
  padding-top: 5px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-bottom .mc-license: controls flex-direction, padding to define this element's appearance and layout. */
  .mc-bottom .mc-license {
    flex-direction: row;
    padding: 5px 0 10px;
  }
}
/* Responsive block for @media (max-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (max-width: 768px) {
/* Styles .mc-bottom .mc-license: controls flex-direction to define this element's appearance and layout. */
  .mc-bottom .mc-license {
    flex-direction: column;
  }
}
/* Styles .mc-bottom .mc-license .mc-license-br: controls display to define this element's appearance and layout. */
.mc-bottom .mc-license .mc-license-br {
  display: block;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-bottom .mc-license .mc-license-br: controls display to define this element's appearance and layout. */
  .mc-bottom .mc-license .mc-license-br {
    display: none;
  }
}
/* Styles .mc-bottom .mc-license ul: controls display, padding, margin to define this element's appearance and layout. */
.mc-bottom .mc-license ul {
  display: block;
  padding: 0;
  margin: 0;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-bottom .mc-license ul: controls order to define this element's appearance and layout. */
  .mc-bottom .mc-license ul {
    order: 2;
  }
}
/* Styles .mc-bottom .mc-license ul li: controls font-size, line-height to define this element's appearance and layout. */
.mc-bottom .mc-license ul li {
  font-size: 0.8125rem;
  line-height: 1.375rem;
}
/* Icon glyph for .mc-bottom .mc-license ul li::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-bottom .mc-license ul li::before {
  content: "-";
  display: inline-block;
  margin-left: 10px;
  margin-right: 5px;
}
/* Responsive block for @media (max-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (max-width: 768px) {
/* Icon glyph for .mc-bottom .mc-license ul li::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
  .mc-bottom .mc-license ul li::before {
    display: none;
    margin: 0;
  }
}
/* Styles .mc-bottom .mc-license ul li a:hover: controls text-decoration to define this element's appearance and layout. */
.mc-bottom .mc-license ul li a:hover {
  text-decoration: underline;
}
/* Styles .mc-sidebar: controls position, top, right to define this element's appearance and layout. */
.mc-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9;
  height: 100%;
  background-color: #333645;
  width: 275px;
  display: block;
  overflow: scroll;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-sidebar: controls width to define this element's appearance and layout. */
  .mc-sidebar {
    width: 350px;
  }
}
/* Styles .mc-sidebar .mc-sidebar-list: controls padding, margin, display to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list {
  padding: 20px 0 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  color: #fff;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-sidebar .mc-sidebar-list: controls padding, border-top, border-bottom to define this element's appearance and layout. */
  .mc-sidebar .mc-sidebar-list {
    padding: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-side-menu-item: controls padding, outline, border to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-side-menu-item {
  padding: 20px 0 0;
  outline: 1px solid rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  justify-self: left;
}
/* Styles .mc-sidebar .mc-sidebar-list li .mc-side-menu-title: controls font-size, padding-left, line-height to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list li .mc-side-menu-title {
  font-size: 1rem;
  padding-left: 20px;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-contact-side-menu-title:hover: controls background-color to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-contact-side-menu-title:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
/* Styles .mc-sidebar .mc-sidebar-list li .mc-sub-menu: controls padding, margin, width to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list li .mc-sub-menu {
  padding: 0;
  margin: 20px 0 0;
  width: auto;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.25);
  border-top: 1px solid rgba(0, 0, 0, 0.45);
}
/* Styles .mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list: controls padding to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list {
  padding: 0;
}
/* Styles .mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list li: controls border-top, padding to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list li {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding: 15px 20px;
}
/* Styles .mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list li a: controls text-transform, font-size to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list li a {
  text-transform: uppercase;
  font-size: 0.875rem;
}
/* Icon glyph for .mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list li a::before: injects this specific symbol from the icomoon font using the mapped Unicode value. */
.mc-sidebar .mc-sidebar-list li .mc-sub-menu .mc-sub-menu-list li a::before {
  content: "\BB";
  padding-right: 15px;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-list-title: controls margin, font-size, padding to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-list-title {
  margin: 0;
  font-size: 1.125rem;
  font-size: 1.125rem;
  padding: 19px 20px 0;
  border-radius: 3px;
  text-align: center;
  text-transform: uppercase;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header: controls outline, border, padding to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header {
  outline: 1px solid rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 19px 0 18px;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header span: controls padding-bottom, font-size to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header span {
  padding-bottom: 10px;
  font-size: 1.4375rem;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header small: controls font-size, padding-bottom to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header small {
  font-size: 0.625rem;
  padding-bottom: 1px;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header:hover: controls background-color to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu: controls margin-top, border-radius to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu {
  margin-top: 20px;
  border-radius: 3px;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu .mc-mobile-menu-list: controls width, margin, padding to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu .mc-mobile-menu-list {
  width: auto;
  margin: 0;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.25);
  border-top: 1px solid rgba(0, 0, 0, 0.45);
  color: #fff;
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu .mc-mobile-menu-list li: controls padding, border-top to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu .mc-mobile-menu-list li {
  padding: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
/* Styles .mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu .mc-mobile-menu-list li a span: controls font-size, text-align, text-transform to define this element's appearance and layout. */
.mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu .mc-mobile-menu-list li a span {
  font-size: 1rem;
  text-align: center;
  text-transform: uppercase;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-mobile-menu: controls display to define this element's appearance and layout. */
  .mc-mobile-menu {
    display: none;
  }
}
/* Styles .mc-non-mobile-menu: controls display to define this element's appearance and layout. */
.mc-non-mobile-menu {
  display: none;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-non-mobile-menu: controls display to define this element's appearance and layout. */
  .mc-non-mobile-menu {
    display: block;
  }
}
/* Styles .mc-Mobile-CD .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-CD .mc-sidenav-icon {
  color: #67809f;
}
/* Styles .mc-Mobile-IT .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-IT .mc-sidenav-icon {
  color: #4183d7;
}
/* Styles .mc-Mobile-DM .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-DM .mc-sidenav-icon {
  color: #2ecc71;
}
/* Styles .mc-Mobile-TS .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-TS .mc-sidenav-icon {
  color: #d64541;
}
/* Styles .mc-Mobile-WD .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-WD .mc-sidenav-icon {
  color: #926fb1;
}
/* Styles .mc-Mobile-CS .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-CS .mc-sidenav-icon {
  color: #f62459;
}
/* Styles .mc-Mobile-DC .mc-sidenav-icon: controls color to define this element's appearance and layout. */
.mc-Mobile-DC .mc-sidenav-icon {
  color: #ce4125;
}
/* Responsive block for @media (max-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (max-width: 992px) {
/* Styles .mc-mobile-menu-item: controls border-top, border-bottom to define this element's appearance and layout. */
  .mc-mobile-menu-item {
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
}
/* Styles #mc-side-contact-button: controls text-align, padding, margin to define this element's appearance and layout. */
#mc-side-contact-button {
  text-align: center;
  padding: 19px 0 18px;
  margin: 0 20px;
  border-radius: 3px;
}
/* Styles #mc-side-contact-button .mc-side-menu-title: controls font-size, padding to define this element's appearance and layout. */
#mc-side-contact-button .mc-side-menu-title {
  font-size: 1.125rem;
  padding: 19px 49px 18px;
}
/* Styles #mc-side-ourwork-button: controls margin-top to define this element's appearance and layout. */
#mc-side-ourwork-button {
  margin-top: 20px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles #mc-side-ourwork-button: controls margin-top to define this element's appearance and layout. */
  #mc-side-ourwork-button {
    margin-top: 0;
  }
}
/* Styles #mc-side-support-button: controls padding-bottom to define this element's appearance and layout. */
#mc-side-support-button {
  padding-bottom: 20px;
}
/* Styles .mc-services-list: controls margin-top to define this element's appearance and layout. */
.mc-services-list {
  margin-top: 20px;
}
/* Styles .mc-services-list .mc-services-row: controls max-width to define this element's appearance and layout. */
.mc-services-list .mc-services-row {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* Styles .mc-services-list .mc-services-row .mc-services-header: controls display, flex-direction, justify-content to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  color: #333645;
}
/* Styles .mc-services-list .mc-services-row .mc-services-header h2: controls font-size, margin-top, margin-bottom to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-header h2 {
  font-size: 2.6875rem;
  margin-top: -13px;
  margin-bottom: -10px;
}
/* Styles .mc-services-list .mc-services-row .mc-services-header h1: controls margin-top, margin-left, margin-bottom to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-header h1 {
  margin-top: -5px;
  margin-left: 20px;
  margin-bottom: 28px;
  display: none;
}
/* Styles .mc-services-list .mc-services-row .mc-services-header h1 em: controls font-style to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-header h1 em {
  font-style: normal;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-services-list .mc-services-row .mc-services-header h1: controls display to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-services-header h1 {
    display: block;
  }
}
/* Styles .mc-services-list .mc-services-row .mc-services-header h1 a:hover: controls text-decoration to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-header h1 a:hover {
  text-decoration: underline;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox: controls display, grid-template-columns, grid-template-rows to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto auto auto auto auto auto;
  row-gap: 30px;
  grid-template-areas:
    "panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1"
    "panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2"
    "panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3"
    "panel4 panel4 panel4 panel4 panel4 panel4 panel4 panel4 panel4 panel4 panel4 panel4"
    "panel5 panel5 panel5 panel5 panel5 panel5 panel5 panel5 panel5 panel5 panel5 panel5"
    "panel6 panel6 panel6 panel6 panel6 panel6 panel6 panel6 panel6 panel6 panel6 panel6"
    "panel7 panel7 panel7 panel7 panel7 panel7 panel7 panel7 panel7 panel7 panel7 panel7";
  padding-bottom: 30px;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel1: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel1 {
  grid-area: panel1;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel2: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel2 {
  grid-area: panel2;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel3: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel3 {
  grid-area: panel3;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel4: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel4 {
  grid-area: panel4;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel5: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel5 {
  grid-area: panel5;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel6: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel6 {
  grid-area: panel6;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox #mc-panel7: controls grid-area to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox #mc-panel7 {
  grid-area: panel7;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox: controls grid-template-columns, grid-template-rows, row-gap to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-services-gridbox {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto auto auto auto;
    row-gap: 30px;
    grid-template-areas:
      "panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1 panel1"
      "panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2 panel2"
      "panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3 panel3"
      "panel4 panel4 panel4 panel4 panel4 panel4 panel5 panel5 panel5 panel5 panel5 panel5"
      "panel6 panel6 panel6 panel6 panel6 panel6 panel7 panel7 panel7 panel7 panel7 panel7";
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox: controls grid-template-columns, grid-template-rows, row-gap to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-services-gridbox {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 380px 340px 340px;
    row-gap: 30px;
    grid-template-areas:
      "panel1 panel1 panel1 panel1 panel2 panel2 panel2 panel2 panel3 panel3 panel3 panel3"
      "panel4 panel4 panel4 panel4 panel4 panel4 panel5 panel5 panel5 panel5 panel5 panel5"
      "panel6 panel6 panel6 panel6 panel6 panel6 panel7 panel7 panel7 panel7 panel7 panel7";
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox: controls grid-template-columns, grid-template-rows, row-gap to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-services-gridbox {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    row-gap: 30px;
    grid-template-areas:
      "panel1 panel1 panel1 panel1 panel2 panel2 panel2 panel2 panel3 panel3 panel3 panel3"
      "panel4 panel4 panel4 panel5 panel5 panel5 panel6 panel6 panel6 panel7 panel7 panel7";
  }
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel: controls cursor to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel {
  cursor: pointer;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel: controls padding-left, padding-right to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a: controls display, flex-direction, height to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-top: 30px;
  padding: 30px;
  text-align: center;
  color: #333645;
  width: 100%;
  position: relative;
  top: 0px;
  transition: 0.5s ease;
  border-radius: 15px;
  border: 1px solid #ccc;
  box-shadow: 0 3px 35px rgba(0, 0, 0, 0.1);
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a .mc-icon1: controls height, width, margin to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a .mc-icon1 {
  height: 65px;
  width: 65px;
  margin: 0 auto 17px;
  border-radius: 50%;
  font-size: 2rem;
  line-height: 4.375rem;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a h2: controls font-size, margin-top, margin-bottom to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a h2 {
  font-size: 1.25rem;
  margin-top: 0;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a p: controls margin-top, margin-bottom to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a p {
  margin-top: 0;
  margin-bottom: 13px;
}
.mc-services-list
  .mc-services-row
  .mc-services-gridbox
  .mc-services-panel
  a
/* Styles .mc-button-container: controls display, margin-top to define this element's appearance and layout. */
  .mc-button-container {
  display: block;
  margin-top: auto;
}
.mc-services-list
  .mc-services-row
  .mc-services-gridbox
  .mc-services-panel
  a
  .mc-button-container
/* Styles span: controls font-size, font-weight, display to define this element's appearance and layout. */
  span {
  font-size: 1.0625rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  text-transform: uppercase;
  border-radius: 3px;
}
/* Styles .mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a:hover: controls top, transition, color to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-gridbox .mc-services-panel a:hover {
  top: -10px;
  transition: 0.5s ease;
  color: #fff;
}
/* Styles .mc-services-list .mc-services-row .mc-hidden-view-work: controls display, text-align, padding-left to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-hidden-view-work {
  display: block;
  text-align: center;
  padding-left: 15px;
  padding-right: 15px;
  margin: 30px auto -55px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-services-list .mc-services-row .mc-hidden-view-work: controls display to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-hidden-view-work {
    display: none;
  }
}
/* Styles .mc-services-list .mc-services-row .mc-hidden-view-work h3: controls font-size, font-weight, color to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-hidden-view-work h3 {
  font-size: 1.625rem;
  font-weight: 600;
  color: #333645;
}
/* Styles .mc-services-list .mc-services-row .mc-hidden-view-work h3 a:hover: controls text-decoration to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-hidden-view-work h3 a:hover {
  text-decoration: underline;
}
/* Styles .mc-panel-CD .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CD .mc-icon1 {
  background-color: #67809f;
  color: #fff;
}
/* Styles .mc-panel-CD .mc-button-CD: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CD .mc-button-CD {
  background-color: #f7b322;
  color: #fff;
}
/* Styles .mc-panel-CD:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-CD:hover {
  background-color: #67809f;
}
/* Styles .mc-panel-CD:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CD:hover .mc-icon1 {
  background-color: #fff;
  color: #67809f;
}
/* Styles .mc-panel-CD:hover .mc-button-CD: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CD:hover .mc-button-CD {
  background-color: #fff;
  color: #67809f;
}
/* Styles .mc-panel-IT .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-IT .mc-icon1 {
  background-color: #4183d7;
  color: #fff;
}
/* Styles .mc-panel-IT .mc-button-IT: controls background-color, color to define this element's appearance and layout. */
.mc-panel-IT .mc-button-IT {
  background-color: #4183d7;
  color: #fff;
}
/* Styles .mc-panel-IT:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-IT:hover {
  background-color: #4183d7;
}
/* Styles .mc-panel-IT:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-IT:hover .mc-icon1 {
  background-color: #fff;
  color: #4183d7;
}
/* Styles .mc-panel-IT:hover .mc-button-IT: controls background-color, color to define this element's appearance and layout. */
.mc-panel-IT:hover .mc-button-IT {
  background-color: #fff;
  color: #4183d7;
}
/* Styles .mc-panel-DM .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DM .mc-icon1 {
  background-color: #2ecc71;
  color: #fff;
}
/* Styles .mc-panel-DM .mc-button-DM: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DM .mc-button-DM {
  background-color: #2ecc71;
  color: #fff;
}
/* Styles .mc-panel-DM:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-DM:hover {
  background-color: #2ecc71;
}
/* Styles .mc-panel-DM:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DM:hover .mc-icon1 {
  background-color: #fff;
  color: #2ecc71;
}
/* Styles .mc-panel-DM:hover .mc-button-DM: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DM:hover .mc-button-DM {
  background-color: #fff;
  color: #2ecc71;
}
/* Styles .mc-panel-TS .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-TS .mc-icon1 {
  background-color: #d64541;
  color: #fff;
}
/* Styles .mc-panel-TS .mc-button-TS: controls background-color, color to define this element's appearance and layout. */
.mc-panel-TS .mc-button-TS {
  background-color: #d64541;
  color: #fff;
}
/* Styles .mc-panel-TS:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-TS:hover {
  background-color: #d64541;
}
/* Styles .mc-panel-TS:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-TS:hover .mc-icon1 {
  background-color: #fff;
  color: #d64541;
}
/* Styles .mc-panel-TS:hover .mc-button-TS: controls background-color, color to define this element's appearance and layout. */
.mc-panel-TS:hover .mc-button-TS {
  background-color: #fff;
  color: #d64541;
}
/* Styles .mc-panel-WD .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-WD .mc-icon1 {
  background-color: #926fb1;
  color: #fff;
}
/* Styles .mc-panel-WD .mc-button-WD: controls background-color, color to define this element's appearance and layout. */
.mc-panel-WD .mc-button-WD {
  background-color: #926fb1;
  color: #fff;
}
/* Styles .mc-panel-WD:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-WD:hover {
  background-color: #926fb1;
}
/* Styles .mc-panel-WD:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-WD:hover .mc-icon1 {
  background-color: #fff;
  color: #926fb1;
}
/* Styles .mc-panel-WD:hover .mc-button-WD: controls background-color, color to define this element's appearance and layout. */
.mc-panel-WD:hover .mc-button-WD {
  background-color: #fff;
  color: #926fb1;
}
/* Styles .mc-panel-CS .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CS .mc-icon1 {
  background-color: #f62459;
  color: #fff;
}
/* Styles .mc-panel-CS .mc-button-CS: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CS .mc-button-CS {
  background-color: #f62459;
  color: #fff;
}
/* Styles .mc-panel-CS:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-CS:hover {
  background-color: #f62459;
}
/* Styles .mc-panel-CS:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CS:hover .mc-icon1 {
  background-color: #fff;
  color: #f62459;
}
/* Styles .mc-panel-CS:hover .mc-button-CS: controls background-color, color to define this element's appearance and layout. */
.mc-panel-CS:hover .mc-button-CS {
  background-color: #fff;
  color: #f62459;
}
/* Styles .mc-panel-DT .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DT .mc-icon1 {
  background-color: #ce4125;
  color: #fff;
}
/* Styles .mc-panel-DT .mc-button-DT: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DT .mc-button-DT {
  background-color: #ce4125;
  color: #fff;
}
/* Styles .mc-panel-DT:hover: controls background-color to define this element's appearance and layout. */
.mc-panel-DT:hover {
  background-color: #ce4125;
}
/* Styles .mc-panel-DT:hover .mc-icon1: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DT:hover .mc-icon1 {
  background-color: #fff;
  color: #ce4125;
}
/* Styles .mc-panel-DT:hover .mc-button-DT: controls background-color, color to define this element's appearance and layout. */
.mc-panel-DT:hover .mc-button-DT {
  background-color: #fff;
  color: #ce4125;
}
/* Styles .mc-about-us: controls background-color, color, font-weight to define this element's appearance and layout. */
.mc-about-us {
  background-color: #333645;
  color: #fff;
  font-weight: 300;
  text-align: left;
}
/* Styles .mc-about-us .mc-about-row: controls display, flex-wrap, margin-left to define this element's appearance and layout. */
.mc-about-us .mc-about-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info: controls padding, display, height to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info {
  padding: 0 15px;
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  font-weight: 400;
  margin-bottom: 50px;
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-about-us .mc-about-row .mc-about-info: controls width, margin-bottom to define this element's appearance and layout. */
  .mc-about-us .mc-about-row .mc-about-info {
    width: 50%;
    margin-bottom: 0;
  }
}
/* Styles .mc-about-us .mc-about-row .mc-about-info h2: controls margin-bottom, margin-top to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info h2 {
  margin-bottom: 40px;
  margin-top: -6px;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info p: controls font-size, line-height, margin-bottom to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info p {
  font-size: 1rem;
  line-height: 1.875rem;
  margin-bottom: 25px;
  margin-top: 0;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-about-buttons: controls display, flex-wrap, gap to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info .mc-about-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-direction: row;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-star-rating: controls display, font-size, gap to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info .mc-star-rating {
  display: flex;
  font-size: 3.125rem;
  gap: 5px;
  margin-bottom: 25px;
  color: orange;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-quote: controls font-size, font-style, font-weight to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info .mc-quote {
  font-size: 1.3125rem;
  font-style: italic;
  font-weight: 600;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-quote-author: controls font-size, font-weight, color to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info .mc-quote-author {
  font-size: 1.0625rem;
  font-weight: 600;
  color: #a3a8ac;
}
.mc-about-us .mc-about-row .mc-about-info .mc-quote-author a:link,
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-quote-author a:any-link: controls color to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info .mc-quote-author a:any-link {
  color: #fff;
}
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-review-buttons: controls display, flex-wrap, gap to define this element's appearance and layout. */
.mc-about-us .mc-about-row .mc-about-info .mc-review-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-direction: row;
}
/* Responsive block for @media (min-width: 992px) and (max-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) and (max-width: 1260px) {
/* Styles .mc-about-us .mc-about-row .mc-about-info .mc-review-buttons: controls gap to define this element's appearance and layout. */
  .mc-about-us .mc-about-row .mc-about-info .mc-review-buttons {
    gap: 20px;
  }
}
/* Styles .mc-aboutus-btn: controls font-size, font-weight, line-height to define this element's appearance and layout. */
.mc-aboutus-btn {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2.1875rem;
  text-transform: uppercase;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  padding: 10px 30px;
}
/* Styles .mc-aboutus-btn em: controls padding-left to define this element's appearance and layout. */
.mc-aboutus-btn em {
  padding-left: 12px;
}
/* Styles .mc-button-about: controls background-color, color to define this element's appearance and layout. */
.mc-button-about {
  background-color: #272936;
  color: #fff;
}
/* Styles .mc-button-about:hover: controls background-color, color to define this element's appearance and layout. */
.mc-button-about:hover {
  background-color: #121318;
  color: #fff;
}
/* Styles .mc-button-about-google: controls background-color, color, padding to define this element's appearance and layout. */
.mc-button-about-google {
  background-color: #4387f6;
  color: #fff;
  padding: 10px 18px;
  margin-top: 25px;
}
/* Responsive block for @media (min-width: 992px) and (max-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) and (max-width: 1260px) {
/* Styles .mc-button-about-google: controls margin-top to define this element's appearance and layout. */
  .mc-button-about-google {
    margin-top: 0;
  }
}
/* Styles .mc-button-about-google:hover: controls background-color, color to define this element's appearance and layout. */
.mc-button-about-google:hover {
  background-color: #166af4;
  color: #fff;
}
/* Styles .mc-button-about-trustpilot: controls background-color, color, padding to define this element's appearance and layout. */
.mc-button-about-trustpilot {
  background-color: #00b67b;
  color: #fff;
  padding: 10px 18px;
  margin-top: 25px;
}
/* Responsive block for @media (min-width: 992px) and (max-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) and (max-width: 1260px) {
/* Styles .mc-button-about-trustpilot: controls margin-top to define this element's appearance and layout. */
  .mc-button-about-trustpilot {
    margin-top: 0;
  }
}
/* Styles .mc-button-about-trustpilot:hover: controls background-color, color to define this element's appearance and layout. */
.mc-button-about-trustpilot:hover {
  background-color: #009b69;
  color: #fff;
}
/* Styles .mc-news: controls background-color to define this element's appearance and layout. */
.mc-news {
  background-color: #fff;
}
/* Styles .mc-news .mc-news-header: controls padding-top, display, flex-direction to define this element's appearance and layout. */
.mc-news .mc-news-header {
  padding-top: 50px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  color: #333645;
}
/* Styles .mc-news .mc-news-header h2: controls margin to define this element's appearance and layout. */
.mc-news .mc-news-header h2 {
  margin: 0 0 28px;
}
/* Styles .mc-news .mc-news-header h3: controls font-size, margin-bottom, font-weight to define this element's appearance and layout. */
.mc-news .mc-news-header h3 {
  font-size: 1.625rem;
  margin-bottom: 15px;
  font-weight: 600;
  display: none;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-news-header h3: controls display to define this element's appearance and layout. */
  .mc-news .mc-news-header h3 {
    display: block;
  }
}
/* Styles .mc-news .mc-news-row: controls display, flex-wrap, margin to define this element's appearance and layout. */
.mc-news .mc-news-row {
  display: flex;
  flex-wrap: wrap;
  margin: -30px -15px 0 -15px;
  padding-top: 15px;
  padding-bottom: 50px;
}
/* Styles .mc-news .mc-news-row .mc-news-article: controls max-width, width, padding to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article {
  max-width: 100%;
  width: 100%;
  padding: 0 15px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-news-row .mc-news-article: controls width to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article {
    width: 50%;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles .mc-news .mc-news-row .mc-news-article: controls width to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article {
    width: calc(100% / 3);
  }
}
/* Styles .mc-news .mc-news-row .mc-news-article a: controls font-size, margin-top, color to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a {
  font-size: 0.8125rem;
  margin-top: 30px;
  color: #333645;
  position: relative;
  top: 0;
  transition: 0.5s ease;
  display: flex;
  flex-direction: column;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img: controls max-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-img {
    max-height: 200px;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img: controls max-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-img {
    max-height: 263px;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img: controls max-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-img {
    max-height: 213px;
  }
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights: controls background-color, position, top to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights {
  background-color: #67809f;
  position: absolute;
  top: 10px;
  right: 0;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0 10px;
  line-height: 1.4375rem;
  text-transform: uppercase;
  z-index: 1;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights-it-tech: controls background-color, position, top to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights-it-tech {
  background-color: #4183d7;
  position: absolute;
  top: 10px;
  right: 0;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0 10px;
  line-height: 1.4375rem;
  text-transform: uppercase;
  z-index: 1;
}
.mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights:hover,
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights-it-tech:hover: controls text-decoration to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-insights-it-tech:hover {
  text-decoration: underline;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-article-img-box: controls position, border-radius, border to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-article-img-box {
  position: relative;
  border-radius: 3px 3px 0 0;
  border: 0;
  text-decoration: none;
  max-width: 100%;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-article-img-box img: controls display, height, width to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-img .mc-article-img-box img {
  display: block;
  height: auto;
  width: 100%;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description: controls border-top, border-radius, display to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description {
  border-top: 0;
  border-radius: 0 0 3px 3px;
  display: block;
  padding: 30px;
  border: 1px solid #ccc;
  box-shadow: 0 3px 35px rgba(0, 0, 0, 0.1);
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description: controls min-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-description {
    min-height: auto;
  }
}
/* Responsive block for @media (min-width: 992px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 992px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description: controls min-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-description {
    min-height: auto;
  }
}
/* Responsive block for @media (min-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 1260px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description: controls min-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-description {
    min-height: auto;
  }
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description h3: controls padding-top, font-size, line-height to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description h3 {
  padding-top: 0;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 15px;
  color: #67809f;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description h3 .mc-firstline: controls color to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description h3 .mc-firstline {
  color: #4183d7;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description h3: controls min-height to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article a .mc-article-description h3 {
    min-height: 48px;
  }
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description p: controls margin-bottom to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description p {
  margin-bottom: 25px;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-news-btn: controls display, font-size, line-height to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-news-btn {
  display: inline-flex;
  font-size: 1.0625rem;
  line-height: 2.1875rem;
  font-weight: normal;
  padding: 5px 15px;
  text-transform: uppercase;
  border-radius: 3px;
  margin-bottom: 0;
  align-items: center;
  justify-content: center;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-news-btn-orange: controls background-color, color to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-news-btn-orange {
  background-color: #f7b322;
  color: #fff;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-news-btn-blue: controls background-color, color to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-news-btn-blue {
  background-color: #4183d7;
  color: #fff;
}
/* Styles .mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-article-author: controls margin-top, padding-top, border-top to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a .mc-article-description .mc-article-author {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #ccc;
  display: table;
  width: 100%;
  font-size: 0.875rem;
}
.mc-news
  .mc-news-row
  .mc-news-article
  a
  .mc-article-description
  .mc-article-author
/* Styles .mc-article-author-img: controls display, vertical-align, width to define this element's appearance and layout. */
  .mc-article-author-img {
  display: table-cell;
  vertical-align: middle;
  width: 1%;
}
.mc-news
  .mc-news-row
  .mc-news-article
  a
  .mc-article-description
  .mc-article-author
  .mc-article-author-img
/* Styles img: controls border-radius, display, max-width to define this element's appearance and layout. */
  img {
  border-radius: 50%;
  display: block;
  max-width: 47px;
  height: auto;
}
.mc-news
  .mc-news-row
  .mc-news-article
  a
  .mc-article-description
  .mc-article-author
/* Styles .mc-article-author-name: controls display, vertical-align, padding-left to define this element's appearance and layout. */
  .mc-article-author-name {
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
  line-height: 1.375rem;
}
.mc-news
  .mc-news-row
  .mc-news-article
  a
  .mc-article-description
  .mc-article-author
  .mc-article-author-name
  strong {
  display: block;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mc-news
  .mc-news-row
  .mc-news-article
  a
  .mc-article-description
  .mc-article-author
  .mc-article-author-name
  br {
  display: none;
}
/* Styles .mc-news .mc-news-row .mc-news-article a:hover: controls top, transition to define this element's appearance and layout. */
.mc-news .mc-news-row .mc-news-article a:hover {
  top: -10px;
  transition: 0.5s ease;
}
/* Responsive block for @media (min-width: 768px) and (max-width: 1260px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) and (max-width: 1260px) {
/* Styles .mc-news .mc-news-row .mc-news-article .mc-article-technician: controls display to define this element's appearance and layout. */
  .mc-news .mc-news-row .mc-news-article .mc-article-technician {
    display: none;
  }
}
/* Styles .mc-news .mc-hidden-view-all: controls text-align, margin-bottom to define this element's appearance and layout. */
.mc-news .mc-hidden-view-all {
  text-align: center;
  margin-bottom: 20px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-hidden-view-all: controls display to define this element's appearance and layout. */
  .mc-news .mc-hidden-view-all {
    display: none;
  }
}
/* Styles .mc-news .mc-hidden-view-all h3: controls margin-top, font-size, color to define this element's appearance and layout. */
.mc-news .mc-hidden-view-all h3 {
  margin-top: 0px;
  font-size: 1.625rem;
  color: #333645;
  font-weight: 600;
  margin-bottom: 15px;
}
/* Styles .mc-sliding-imgs .mc-sliding-list: controls display, flex-direction, width to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list {
  display: flex;
  flex-direction: row;
  width: 100%;
  position: relative;
  align-items: center;
  justify-content: center;
  min-width: 0;
  overflow-x: clip;
}
.mc-sliding-imgs {
  overflow-x: hidden;
}
.mc-clients .mc-sliding-imgs {
  overflow-y: visible;
}
.mc-sliding-imgs .mc-sliding-list.mc-logo-carousel-track {
  justify-content: flex-start;
  width: max-content;
  will-change: transform;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box: controls width, margin-right, padding to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box {
  width: auto;
  margin-right: 50px;
  padding: 0 20px;
  height: 70px;
  max-height: 70px;
  display: flex;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box img: controls max-width, filter, align-self to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box img {
  max-width: 200px;
  filter: grayscale(1);
  align-self: center;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box img:hover: controls filter to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box img:hover {
  filter: grayscale(0);
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box:hover
/* Styles .mc-logo-tooltip: controls display to define this element's appearance and layout. */
  .mc-logo-tooltip {
  display: block;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
/* Styles .mc-logo-tooltip: controls display, position, bottom to define this element's appearance and layout. */
  .mc-logo-tooltip {
  display: none;
  position: absolute;
  bottom: 100%;
  left: -200px;
  right: -200px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
/* Styles .mc-logo-description: controls background-color, color, padding to define this element's appearance and layout. */
  .mc-logo-description {
  background-color: #333645;
  color: #fff;
  padding: 20px;
  font-size: 0.875rem;
  max-width: 280px;
  margin: 0 auto 50px;
  text-align: center;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles h3: controls padding-bottom, margin to define this element's appearance and layout. */
  h3 {
  padding-bottom: 17px;
  margin: 0;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-tooltip-button: controls margin-top, font-size, line-height to define this element's appearance and layout. */
  .mc-tooltip-button {
  margin-top: 11px;
  font-size: 0.9375rem;
  line-height: 2.1875rem;
  text-transform: uppercase;
  border-radius: 3px;
  height: auto;
  padding: 10px 15px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
  .mc-tooltip-button
/* Styles em: controls margin-left to define this element's appearance and layout. */
  em {
  margin-left: 12px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonP: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonP {
  background-color: #926fb1;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonB: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonB {
  background-color: #4183d7;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonO: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonO {
  background-color: #f7b322;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonG: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonG {
  background-color: #2ecc71;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonP:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonP:hover {
  background-color: #7e57a0;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonB:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonB:hover {
  background-color: #2a6ec6;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonO:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonO:hover {
  background-color: #e8a008;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonG:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonG:hover {
  background-color: #26ab5f;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-arrow: controls position, bottom, left to define this element's appearance and layout. */
  .mc-arrow {
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin-left: -35px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-slick-list
  .mc-slick-track
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-arrow::after: controls content, display, border-color to define this element's appearance and layout. */
  .mc-arrow::after {
  content: "";
  display: inline-block;
  border-color: #333645 transparent transparent;
  border-style: solid;
  border-width: 35px 36px 0;
}
/* Styles .mc-cookies .mc-cookies-container .mc-cookies-button-manage: controls position, z-index, bottom to define this element's appearance and layout. */
.mc-cookies .mc-cookies-container .mc-cookies-button-manage {
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  height: auto;
  display: flex;
  background: #75788a;
  font-weight: 600;
  text-transform: capitalize;
  color: #fff;
  border: solid #75788a;
  border-width: 1px 1px 0 0;
  border-radius: 0;
  border-top-right-radius: 10px;
  padding: 0 10px;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.375rem;
}
/* Styles .mc-cookies .mc-cookies-container .mc-cookie-consent: controls position, top, bottom to define this element's appearance and layout. */
.mc-cookies .mc-cookies-container .mc-cookie-consent {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3001;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 30px;
  opacity: 1;
}

.mc-cookies .mc-cookies-container .mc-cookie-consent.mc-cookies-consent-hidden {
  display: none;
}
/* Styles .mc-cookies .mc-cookies-container .mc-cookie-consent .mc-cookies-box: controls margin, width, position to define this element's appearance and layout. */
.mc-cookies .mc-cookies-container .mc-cookie-consent .mc-cookies-box {
  margin: auto;
  width: 600px;
  position: relative;
  transform: translate(0);
  transition: transform 0.3s ease-out;
}
/* Styles .mc-cookies .mc-cookies-container .mc-cookie-consent .mc-cookies-box .mc-cookies-content: controls position, background-color, border to define this element's appearance and layout. */
.mc-cookies .mc-cookies-container .mc-cookie-consent .mc-cookies-box .mc-cookies-content {
  position: relative;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
/* Styles .mc-cookies-header: controls padding, border-bottom to define this element's appearance and layout. */
  .mc-cookies-header {
  padding: 15px 20px;
  border-bottom: 1px solid #e5e5e5;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-header
/* Styles h3: controls margin, font-size, line-height to define this element's appearance and layout. */
  h3 {
  margin: 0;
  font-size: 1.625rem;
  line-height: 2.4375rem;
  font-weight: 400;
  color: #333645;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
/* Styles .mc-cookies-details: controls padding to define this element's appearance and layout. */
  .mc-cookies-details {
  padding: 20px;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-details
/* Styles p: controls margin-top, margin-bottom, font-size to define this element's appearance and layout. */
  p {
  margin-top: 0;
  margin-bottom: 25px;
  font-size: 1rem;
  line-height: 1.875rem;
  color: #666;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-details
  p
/* Styles a: controls color, text-decoration to define this element's appearance and layout. */
  a {
  color: #333645;
  text-decoration: none;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-details
  p
/* Styles a:hover: controls a, text-decoration to define this element's appearance and layout. */
  a:hover {
  text-decoration: underline;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
/* Styles .mc-cookies-footer: controls margin, padding, border-top to define this element's appearance and layout. */
  .mc-cookies-footer {
  margin: 0;
  padding: 20px;
  border-top: 1px solid #e5e5e5;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
/* Styles .mc-cookies-row: controls display, flex-direction, margin to define this element's appearance and layout. */
  .mc-cookies-row {
  display: flex;
  flex-direction: column;
  margin: 0 -15px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
  .mc-cookies
    .mc-cookies-container
    .mc-cookie-consent
    .mc-cookies-box
    .mc-cookies-content
    .mc-cookies-footer
/* Styles .mc-cookies-row: controls flex-direction to define this element's appearance and layout. */
    .mc-cookies-row {
    flex-direction: row;
  }
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
  .mc-cookies-row
/* Styles .mc-cookies-button-box: controls width, padding to define this element's appearance and layout. */
  .mc-cookies-button-box {
  width: 100%;
  padding: 0 15px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
  .mc-cookies
    .mc-cookies-container
    .mc-cookie-consent
    .mc-cookies-box
    .mc-cookies-content
    .mc-cookies-footer
    .mc-cookies-row
/* Styles .mc-cookies-button-box: controls width to define this element's appearance and layout. */
    .mc-cookies-button-box {
    width: 50%;
  }
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
  .mc-cookies-row
  .mc-cookies-button-box
/* Styles a: controls font-size, line-height, padding to define this element's appearance and layout. */
  a {
  font-size: 1rem;
  line-height: 2.1875rem;
  padding: 5px 15px;
  text-transform: uppercase;
  border-radius: 3px;
  margin: 0;
  text-align: center;
  display: block;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
  .mc-cookies-row
  .mc-cookies-button-box
/* Styles .mc-cookies-button-settings: controls background-color, color, margin-bottom to define this element's appearance and layout. */
  .mc-cookies-button-settings {
  background-color: #999aa2;
  color: #fff;
  margin-bottom: 30px;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
  .mc-cookies
    .mc-cookies-container
    .mc-cookie-consent
    .mc-cookies-box
    .mc-cookies-content
    .mc-cookies-footer
    .mc-cookies-row
    .mc-cookies-button-box
/* Styles .mc-cookies-button-settings: controls margin-bottom to define this element's appearance and layout. */
    .mc-cookies-button-settings {
    margin-bottom: 0;
  }
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
  .mc-cookies-row
  .mc-cookies-button-box
/* Styles .mc-cookies-button-accept: controls background-color, color to define this element's appearance and layout. */
  .mc-cookies-button-accept {
  background-color: #926fb1;
  color: #fff;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
  .mc-cookies-row
  .mc-cookies-button-box
/* Styles .mc-cookies-button-settings:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-cookies-button-settings:hover {
  background-color: #84858f;
  color: #fff;
}
.mc-cookies
  .mc-cookies-container
  .mc-cookie-consent
  .mc-cookies-box
  .mc-cookies-content
  .mc-cookies-footer
  .mc-cookies-row
  .mc-cookies-button-box
/* Styles .mc-cookies-button-accept:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-cookies-button-accept:hover {
  background-color: #7e57a0;
  color: #fff;
}
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search: controls display to define this element's appearance and layout. */
header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search {
  display: none;
}
/* Styles header .mc-header-inner .mc-mobile-contact: controls display to define this element's appearance and layout. */
header .mc-header-inner .mc-mobile-contact {
  display: block;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search: controls display to define this element's appearance and layout. */
  header .mc-header-inner .mc-header-row .mc-header-buttons .mc-contact .mc-search {
    display: flex;
  }
/* Styles header .mc-header-inner .mc-mobile-contact: controls display to define this element's appearance and layout. */
  header .mc-header-inner .mc-mobile-contact {
    display: none;
  }
}
/* Styles .mc-services-list .mc-services-row .mc-services-header h1: controls display to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-services-header h1 {
  display: none;
}
/* Styles .mc-services-list .mc-services-row .mc-hidden-view-work: controls display, text-align to define this element's appearance and layout. */
.mc-services-list .mc-services-row .mc-hidden-view-work {
  display: block;
  text-align: center;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-services-list .mc-services-row .mc-services-header h1: controls display to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-services-header h1 {
    display: block;
  }
/* Styles .mc-services-list .mc-services-row .mc-hidden-view-work: controls display to define this element's appearance and layout. */
  .mc-services-list .mc-services-row .mc-hidden-view-work {
    display: none;
  }
}
/* Styles .mc-news .mc-news-header h3: controls display to define this element's appearance and layout. */
.mc-news .mc-news-header h3 {
  display: none;
}
/* Styles .mc-news .mc-hidden-view-all: controls display to define this element's appearance and layout. */
.mc-news .mc-hidden-view-all {
  display: block;
}
/* Responsive block for @media (min-width: 768px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 768px) {
/* Styles .mc-news .mc-news-header h3: controls display to define this element's appearance and layout. */
  .mc-news .mc-news-header h3 {
    display: block;
  }
/* Styles .mc-news .mc-hidden-view-all: controls display to define this element's appearance and layout. */
  .mc-news .mc-hidden-view-all {
    display: none;
  }
}
/* Styles .mc-main-nav .mc-main-nav-item: controls position, top, transition to define this element's appearance and layout. */
.mc-main-nav .mc-main-nav-item {
  position: static;
  top: 0;
  transition: 0.5s ease;
}
/* Styles .mc-main-nav .mc-main-nav-item:hover: controls top, transition to define this element's appearance and layout. */
.mc-main-nav .mc-main-nav-item:hover {
  top: 0;
  transition: 0.5s ease;
}
/* Styles .mc-partners: controls overflow-x to define this element's appearance and layout. */
.mc-partners {
  overflow-x: hidden;
}
/* Styles .mc-clients: controls overflow to define this element's appearance and layout. */
.mc-clients {
  overflow: visible;
}
/* Styles .mc-clients: controls position, z-index to define this element's appearance and layout. */
.mc-clients {
  position: relative;
  z-index: 50;
}
.mc-news,
/* Styles .mc-latest-articles: controls position, z-index to define this element's appearance and layout. */
.mc-latest-articles {
  position: relative;
  z-index: 1;
}
.mc-sliding-imgs,
.mc-sliding-imgs .mc-sliding-list,
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-slick-list: controls overflow to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-slick-list {
  overflow: visible;
}
.mc-partners .mc-sliding-img-box img,
.mc-clients .mc-sliding-img-box img,
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box img: controls filter, transition to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box img {
  filter: grayscale(1);
  transition: filter 0.3s ease;
}
.mc-partners .mc-sliding-img-box:hover img,
.mc-clients .mc-sliding-img-box:hover img,
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box:hover img: controls filter to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box:hover img {
  filter: grayscale(0);
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box: controls position to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box {
  position: relative;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box:hover: controls z-index to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box:hover {
  z-index: 60;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box:hover .mc-logo-tooltip: controls opacity, visibility, transform to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box:hover .mc-logo-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-12px);
  pointer-events: all;
  transition-delay: 0s;
}
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box.mc-tooltip-visible .mc-logo-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-12px);
  pointer-events: all;
  transition-delay: 0s;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box .mc-logo-tooltip: controls opacity, visibility, pointer-events to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box .mc-logo-tooltip {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    visibility 0s linear 0.2s;
  position: absolute;
  bottom: calc(100% + 5px);
  left: -200px;
  right: -200px;
  z-index: 70;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box .mc-logo-tooltip .mc-logo-description: controls position, background-color, color to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box .mc-logo-tooltip .mc-logo-description {
  position: relative;
  background-color: #333645;
  color: #fff;
  padding: 20px;
  font-size: 0.875rem;
  max-width: 280px;
  margin: 0 auto 40px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles h3: controls margin, padding-bottom to define this element's appearance and layout. */
  h3 {
  margin: 0;
  padding-bottom: 17px;
}
/* Styles .mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box .mc-logo-tooltip .mc-logo-description p: controls margin, line-height, color to define this element's appearance and layout. */
.mc-sliding-imgs .mc-sliding-list .mc-sliding-img-box .mc-logo-tooltip .mc-logo-description p {
  margin: 0;
  line-height: 1.45;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-tooltip-button: controls display, align-items, margin-top to define this element's appearance and layout. */
  .mc-tooltip-button {
  display: inline-flex;
  align-items: center;
  margin-top: 11px;
  font-size: 0.9375rem;
  line-height: 2.1875rem;
  text-transform: uppercase;
  border-radius: 3px;
  height: auto;
  padding: 10px 15px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
  .mc-tooltip-button
/* Styles em: controls margin-left to define this element's appearance and layout. */
  em {
  margin-left: 12px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonP: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonP {
  background-color: #926fb1;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonB: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonB {
  background-color: #4183d7;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonO: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonO {
  background-color: #f7b322;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonG: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonG {
  background-color: #2ecc71;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonP:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonP:hover {
  background-color: #7e57a0;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonB:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonB:hover {
  background-color: #2a6ec6;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonO:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonO:hover {
  background-color: #e8a008;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-logo-buttonG:hover: controls background-color, color to define this element's appearance and layout. */
  .mc-logo-buttonG:hover {
  background-color: #26ab5f;
  color: #fff;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-arrow: controls position, left, bottom to define this element's appearance and layout. */
  .mc-arrow {
  position: absolute;
  left: 50%;
  bottom: -34px;
  margin-left: -36px;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .mc-arrow::after: controls content, display, border-color to define this element's appearance and layout. */
  .mc-arrow::after {
  content: "";
  display: block;
  border-color: #333645 transparent transparent;
  border-style: solid;
  border-width: 35px 36px 0;
}
/* Styles .mc-cookies .mc-cookies-container .mc-cookies-button-manage: controls position, left, bottom to define this element's appearance and layout. */
.mc-cookies .mc-cookies-container .mc-cookies-button-manage {
  position: fixed;
  left: 0;
  bottom: 0;
}
/* Styles .support-icon: controls position, right, bottom to define this element's appearance and layout. */
.support-icon {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99;
}
/* Styles .custom-checkbox input[type="checkbox"]: controls display to define this element's appearance and layout. */
.custom-checkbox input[type="checkbox"] {
  display: none;
}
/* Styles .custom-checkbox .checkbox-ui: controls display, align-items, justify-content to define this element's appearance and layout. */
.custom-checkbox .checkbox-ui {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1px solid #333645;
  border-radius: 3px;
  background: #fff;
}
/* Styles .custom-checkbox input[type="checkbox"]:checked + .checkbox-ui::after: controls content, width, height to define this element's appearance and layout. */
.custom-checkbox input[type="checkbox"]:checked + .checkbox-ui::after {
  content: "";
  width: 10px;
  height: 10px;
  background: #926fb1;
  border-radius: 2px;
}
/* Styles .mc-cookies: keeps cookie controls enabled so consent UI can render. */
.mc-cookies {
  display: block;
}
/* Styles .mc-banner .mc-banner-slide.is-hidden-for-now: controls display to define this element's appearance and layout. */
.mc-banner .mc-banner-slide.is-hidden-for-now {
  display: flex;
}
/* Styles .mc-news .mc-news-header h2: controls margin-top to define this element's appearance and layout. */
.mc-news .mc-news-header h2 {
  margin-top: 0;
}
/* Styles .mc-footer-company-box .mc-footer-logo: controls width to define this element's appearance and layout. */
.mc-footer-company-box .mc-footer-logo {
  width: 250px;
}
/* Styles .mc-footer-company-box .mc-footer-logo img: controls width, height to define this element's appearance and layout. */
.mc-footer-company-box .mc-footer-logo img {
  width: 100%;
  height: auto;
}
/* Responsive block for @media (min-width: 480px): adjusts layout and component behaviour at this breakpoint/rule. */
@media (min-width: 480px) {
/* Styles .mc-footer-company-box .mc-footer-logo: controls width to define this element's appearance and layout. */
  .mc-footer-company-box .mc-footer-logo {
    width: 320px;
  }
}
/* Styles .mc-clients .mc-sliding-img-box:hover: controls z-index to define this element's appearance and layout. */
.mc-clients .mc-sliding-img-box:hover {
  z-index: 9999 !important;
}
/* Styles .mc-clients .mc-sliding-img-box .mc-logo-tooltip: controls z-index to define this element's appearance and layout. */
.mc-clients .mc-sliding-img-box .mc-logo-tooltip {
  z-index: 10000 !important;
}
/* Styles .mc-clients .mc-sliding-img-box .mc-logo-tooltip .mc-logo-description: controls z-index to define this element's appearance and layout. */
.mc-clients .mc-sliding-img-box .mc-logo-tooltip .mc-logo-description {
  z-index: 10001 !important;
}
/* Styles .mc-news-article: controls overflow to define this element's appearance and layout. */
.mc-news-article {
  overflow: visible !important;
}
#middle,
/* Styles .mc-container-bottom: controls overflow to define this element's appearance and layout. */
.mc-container-bottom {
  overflow: visible !important;
}
.mc-sliding-imgs
  .mc-sliding-list
  .mc-sliding-img-box
  .mc-logo-tooltip
  .mc-logo-description
/* Styles .xupes-title: controls padding-bottom to define this element's appearance and layout. */
  .xupes-title {
  padding-bottom: 0px;
}


/* Side menu behaviour enhancements */
body.mc-menu-open {
  overflow: hidden;
}

.mc-sidebar .mc-sidebar-list .mc-mobile-sub-menu {
  display: none;
}

.mc-sidebar .mc-sidebar-list .mc-mobile-list-title .mc-mobile-list-header::after {
  content: "\e913";
  font-family: icomoon;
  font-size: 0.875rem;
  margin-top: 8px;
  transition: transform 0.2s ease;
}

.mc-sidebar .mc-sidebar-list .mc-mobile-list-title.is-expanded .mc-mobile-list-header::after {
  transform: rotate(180deg);
}

/* Contact page styles */
.mc-contact-body .mc-head.mc-sticky-active[aria-hidden="true"] { background: #fff; }
.mc-contact-page { color: #333645; }
.mc-contact-page img[src^="img/contact-us/"] { border-bottom-left-radius: 30px; border-bottom-right-radius: 30px; border-top-left-radius: 30px; border-top-right-radius: 150px; }
.mc-contact-page .mc-contact-breadcrumb { border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; padding: 14px 0; font-size: 0.82rem; position: relative; z-index: 1; box-shadow: 0 20px 48px -7.5px rgba(0, 0, 0, 0.2); }
.mc-contact-page .mc-contact-breadcrumb span,
.mc-contact-page .mc-contact-breadcrumb a { margin-right: 10px; }
.mc-contact-page .mc-contact-breadcrumb span { font-weight: 400; }
.mc-contact-page .mc-contact-breadcrumb a { color: #333645; text-decoration: none; font-weight: 600; }
.mc-contact-page .mc-contact-hero { padding: 60px 0 0; background: #fff; color: #333645; text-align: center; }
.mc-contact-page .mc-contact-hero h1 { margin: 0 0 12px; font-size: 5rem; font-family: "Poppins", sans-serif; font-weight: 900; }
.mc-contact-page .mc-contact-hero p { margin: 0 0 8px; font-size: 1.5rem; font-weight: 600; }
.mc-contact-page .mc-contact-hero .mc-contact-hours { font-weight: 600; font-size: 1.125rem; margin-top: 34px; margin-bottom: 50px; }
.mc-contact-page .mc-contact-hero .mc-contact-support-btn { display: inline-block; border: 2px solid rgb(128, 48, 141); border-radius: 10px; color: #333645; background: transparent; text-decoration: none; padding: 10px 18px; font-weight: 600; font-size: 1.063rem; margin-bottom: 0; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; cursor: pointer; }
.mc-contact-page .mc-contact-hero .mc-contact-support-btn:hover, .mc-contact-page .mc-contact-hero .mc-contact-support-btn[aria-expanded=true] { background: rgb(128, 48, 141); color: #fff; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
.mc-contact-page .mc-contact-hero .mc-contact-support-accordion { margin-bottom: 64px; }
.mc-contact-page .mc-contact-hero .mc-contact-support-panel { margin: 16px auto 0; max-width: 640px; background: #f5f5f5; border-radius: 10px; padding: 20px; text-align: left; }
.mc-contact-page .mc-contact-hero .mc-contact-support-panel p, .mc-contact-page .mc-contact-hero .mc-contact-support-panel li { font-size: 1rem; font-weight: 500; }
.mc-contact-page .mc-contact-hero .mc-contact-support-panel p { margin: 0 0 12px; }
.mc-contact-page .mc-contact-hero .mc-contact-support-panel p:last-child { margin-bottom: 0; }
.mc-contact-page .mc-contact-hero .mc-contact-support-panel ul { margin: 0 0 14px; padding-left: 20px; }
.mc-contact-page .mc-contact-hero .mc-contact-support-panel a { color: rgb(128, 48, 141); font-weight: 700; }
.mc-contact-page .mc-contact-offices { padding-top: 0; padding-right: 0; padding-bottom: 45px; padding-left: 0; }
.mc-contact-page .mc-contact-offices .mc-contact-grid { display: grid; gap: 56px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.mc-contact-page .mc-contact-offices .mc-office-card { border-radius: 8px; overflow: hidden; border: 0; background: #fff; }
.mc-contact-page .mc-contact-offices .mc-office-card img { width: 100%; height: 450px; object-fit: cover; }
.mc-contact-page .mc-contact-offices .mc-office-card:nth-child(2) { overflow: visible; }
.mc-contact-page .mc-contact-offices .mc-office-card:nth-child(2) img { border-top-left-radius: 30px; border-top-right-radius: 30px; border-bottom-right-radius: 30px; border-bottom-left-radius: 150px; }
.mc-contact-page .mc-contact-offices .mc-office-card:nth-child(3) { overflow: visible; }
.mc-contact-page .mc-contact-offices .mc-office-card:nth-child(3) img { border-top-left-radius: 150px; border-top-right-radius: 30px; border-bottom-right-radius: 30px; border-bottom-left-radius: 30px; }
.mc-contact-page .mc-contact-offices .mc-office-card .mc-office-card-content { padding: 18px; }
.mc-contact-page .mc-contact-offices .mc-office-card h2 { font-size: 1.45rem; margin: 0 0 10px; }
.mc-contact-page .mc-contact-offices .mc-office-card p { color: #666; line-height: 1.5; }
.mc-contact-page .mc-contact-offices .mc-office-card .mc-office-phone { display: block; margin-top: 8px; font-size: 1.6rem; font-weight: 700; color: #000; text-decoration: none; }
.mc-contact-page .mc-contact-offices .mc-office-card .mc-office-view-more { display: block; width: calc(100% + 36px); box-sizing: border-box; text-align: center; margin: 14px -18px 0; border: 2px solid rgb(128, 48, 141); border-radius: 10px; color: #333645; background: transparent; text-decoration: none; padding: 10px 18px; font-weight: 600; font-size: 1.063rem; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; }
.mc-contact-page .mc-contact-offices .mc-office-card .mc-office-view-more:hover { background: rgb(128, 48, 141); color: #fff; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
.mc-contact-page .mc-contact-form-wrap { background: rgb(27, 27, 30); color: #fff; padding: 64px 0 70px; }
.mc-contact-page .mc-contact-form-wrap h2,
.mc-contact-page .mc-contact-form-wrap > .mc-container > p { text-align: center; }
.mc-contact-page .mc-contact-form-wrap h2 { margin: 0 0 0.75rem; font-size: 2.25rem; font-weight: 600; }
.mc-contact-page .mc-contact-form-wrap > .mc-container > p { margin: 4px 0 0; font-size: 1.625rem; color: #fff; font-weight: 300; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 62px; margin-top: 36px; align-items: start; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-image img { width: 100%; border-top-left-radius: 30px; border-top-right-radius: 150px; border-bottom-right-radius: 30px; border-bottom-left-radius: 30px; height: 600px; min-height: 600px; object-fit: cover; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields { max-width: 630px; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields h3 { margin-top: 0; margin-bottom: 18px; font-size: 2.25rem; line-height: 1.1; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields label { display: block; font-weight: 600; font-size: 1rem; margin-bottom: 22px; color: #fff; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields label span { color: #db3a35; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields input,
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields textarea { width: 100%; margin-top: 6px; border: 1px solid #4d5158; background: #2b2f38; color: #fff; border-radius: 0; padding: 13px 12px; font-size: 1.15rem; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-fields-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-checkbox { display: flex; gap: 16px; align-items: flex-start; margin-top: 6px; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-checkbox input { width: 30px; height: 30px; margin-top: 3px; border: 3px solid #fff; background: transparent; accent-color: #fff; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-checkbox span { font-weight: 400; line-height: 1.38; font-size: 0.625rem; color: #fff; max-width: 580px; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-checkbox a { color: #fff; text-decoration: underline; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-recaptcha { font-size: 0.625rem; margin: 18px 0 0; font-weight: 600; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-recaptcha a { color: #fff; text-decoration: underline; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions { margin-top: 40px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions button { background: transparent; color: #fff; border: 3px solid #fff; border-radius: 12px; padding: 10px 27px; font-weight: 600; text-transform: uppercase; cursor: pointer; font-size: 1.063rem; line-height: 1; transition: background-color 0.2s ease; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions button:hover { background-color: #2b2f38; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions small { font-size: 0.875em; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions small span { color: #d64541; }
@media (max-width: 991px) {
  .mc-contact-page .mc-contact-offices .mc-contact-grid,
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form { grid-template-columns: 1fr; }
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-image { display: none; }
  .mc-contact-page .mc-contact-form-wrap h2 { font-size: 2.25rem; }
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields h3 { font-size: 2.25rem; }
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields label { font-size: 1rem; }
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions button { font-size: 1.063rem; }
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-actions small { font-size: 0.875em; }
}
@media (max-width: 767px) {
  .mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-contact-fields-row { grid-template-columns: 1fr; }
}

.mc-contact-page .mc-contact-form-wrap .mc-form-message { border-radius: 8px; margin: 22px auto 0; padding: 14px 18px; font-size: 1rem; text-align: center; }
.mc-contact-page .mc-contact-form-wrap .mc-form-message-success { background: #1f6f43; border: 1px solid #2c9f60; text-align: center; }
.mc-contact-page .mc-contact-form-wrap .mc-form-message-error { background: #7b1d1d; border: 1px solid #db3a35; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-field-error { border-color: #db3a35; }
.mc-contact-page .mc-contact-form-wrap .mc-contact-form .mc-contact-form-fields .mc-input-error { color: #ff8f8f; display: block; font-size: 0.825rem; font-weight: 400; margin-top: 8px; min-height: 18px; }
