/* ---- normalize.css ---- */
/*! normalize.css v11.0.0 | MIT License | github.com/csstools/normalize.css */

/* Document
 * ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
 * ========================================================================== */

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */

/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */


ul ul {
  margin: 0;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Correct the inheritance of border color in Firefox.
 * 3. Show the overflow in Edge 18- and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  color: inherit; /* 2 */
  height: 0; /* 1 */
  overflow: visible; /* 3 */
}

/**
 * Add the correct display in IE.
 */

main {
  display: block;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

/* Text-level semantics
 * ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */


video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

/**
 * Remove the border on images within links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */

/**
 * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */

table {
  border-color: inherit; /* 1 */
  text-indent: 0; /* 2 */
}

/* Forms
 * ========================================================================== */

/**
 * Remove the margin on controls in Safari.
 */

button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */

button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */

button,
[type="button"] {
  -webkit-appearance: button;
}

/**
 * Correct the padding in Firefox.
 */

/**
 * Show the overflow in Edge 18- and IE.
 */

input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */

select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 */

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */

/**
 * Remove the additional :invalid styles in Firefox.
 */

/* Interactive
 * ========================================================================== */

/*
 * Add the correct display in Edge 18- and IE.
 */

details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */

/*
 * Add the correct display in all browsers.
 */

/* Scripting
 * ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

/**
 * Add the correct display in IE.
 */

/* User interaction
 * ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

/* ---- bootstrap.min.css ---- */
@charset "UTF-8";/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-primary-rgb:13,110,253;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-emphasis-color:#000;--bs-secondary-bg:#e9ecef;--bs-heading-color:inherit;--bs-link-color-rgb:13,110,253;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-radius:0.375rem}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ul{padding-left:2rem}ul{margin-top:0;margin-bottom:1rem}ul ul{margin-bottom:0}b,strong{font-weight:bolder}.small,small{font-size:.875em}sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code{font-family:var(--bs-font-monospace);font-size:1em}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}th{text-align:inherit;text-align:-webkit-match-parent}th{border-color:inherit;border-style:solid;border-width:0}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],button{-webkit-appearance:button}[type=button]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.img-fluid{max-width:100%;height:auto}.container,.container-fluid{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col-6{flex:0 0 auto;width:50%}.col-12{flex:0 0 auto;width:100%}.g-4{--bs-gutter-x:1.5rem}.g-4{--bs-gutter-y:1.5rem}@media (min-width:576px){.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-12{flex:0 0 auto;width:100%}}@media (min-width:768px){.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-12{flex:0 0 auto;width:100%}}@media (min-width:992px){.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-12{flex:0 0 auto;width:100%}}@media (min-width:1200px){.col-xl-4{flex:0 0 auto;width:33.33333333%}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}:root{}:root{}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.d-flex{display:flex!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.align-items-center{align-items:center!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.mt-0{margin-top:0!important}.mt-3{margin-top:1rem!important}.mt-5{margin-top:3rem!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.pt-0{padding-top:0!important}.pt-5{padding-top:3rem!important}.pb-0{padding-bottom:0!important}.text-center{text-align:center!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}
/* ---- style.css ---- */
/*
Theme Name: Itegrity Custom Theme
*/



/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smooth:antialiased;
	text-rendering:optimizeLegibility;
}

:root {
    --asphalt: #232323;
    --sun: #EB0C0C;
    --blue:#07286B;
    --red:#EB0C0C;
}



html {
    overflow-x: hidden;
}
body {
    color: var(--asphalt);
    word-break: break-word;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem);
    line-height: 1.75;
}
p {
    margin-bottom: 2.7rem;
}
b, strong {
    font-weight: bold;
}
a, button {
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}
a:hover {
	color: #000;
}
.page_wrap {
    overflow-x: hidden;
    position: relative;
    margin: 0 auto;
    background-color: #fff;
    max-width: 100%;
}


/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}

img {
	max-width:100%;
	vertical-align:bottom;
    height: auto;
}
a {
	color:inherit;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/


.container {
    padding-right: 40px;
    padding-left: 40px;
    max-width: 1480px;
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    margin-bottom: 2rem;
}
.h1, h1 {
    font-size: clamp(4rem, 2.545rem + 7.27vw, 8rem);
    font-weight: 800;
}
.h2, h2 {
    font-size: clamp(3rem, 1.545rem + 7.27vw, 7rem);
    font-weight: 800;
}
.h3, h3 {
    font-size: clamp(2.5rem, 1.591rem + 4.55vw, 5rem)
}
.h4, h4 {
    font-size: 2.4rem;
}
.h5, h5 {
    font-size: 2rem;
}
.h6, h6 {
    font-size: 1.8rem;
}
.p, p {
	font-size: 1.25rem;
}
 section ul {
    padding-left: 20px;
    margin-bottom: 2rem;
}
 section ul li {
    margin: 0 0 10px;
}
section.welcome ul {
    font-size: 24px;
}
section.welcome ul li {
    line-height: 1;
}


/* header */
.header .container {
    padding-right: 80px;
    padding-left: 80px;
}
.site_logo img.sticky_logo {
    display: none;
	max-width: 142px;
}
.site-nav img.sticky_logo {
	max-width: 142px;
}
img.sitelogo {
    max-height: 100px;
}
.sticky .site_logo img.sticky_logo {
    display: block;
}
.sticky .site_logo img.sitelogo {
    display: none;
}
.nav-trigger {
    width: 49px;
    height: 49px;
    background: url(img/hamburger.png) no-repeat center 100%;
    cursor: pointer;
}
.header .add_social_media a {
    margin-left: 20px;
    color: #fff;
}
.header.sticky .add_social_media a {
    color: #8F8F8F;
}
.add_social_media a {
    color: #8F8F8F;
    text-decoration: none !important;
}
.add_social_media a:hover {
    color: #EB0C0C;
}
.site-nav .nav-trigger {
    background-image: url(img/closebtn.png);
}
input#s {
    padding: 2px 10px;
    border: 0;
    outline: none !important;
    font-size: 17px;
    width: 100%;
}



/* nav */
.header {
    padding: 15px 0;
    left: 0;
    right: 0;
    z-index: 99999;
    max-width: 100%;
    margin: 0 auto;
    position: fixed;
}
.header.sticky {
    padding: 5px 0;
    -webkit-box-shadow: 0px 1px 17px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow:    0px 1px 17px 0px rgba(0, 0, 0, 0.3);
    box-shadow:         0px 1px 17px 0px rgba(0, 0, 0, 0.3);
    background: #fff;
}
.nav_logo {
    display: none !important;
    opacity: .5;
}

.nav_logo .item.pl30.pr30 {
    padding-left: 10px;
    padding-right: 10px;
}
.header.sticky .nav_logo {
    display: flex !important;
	flex-wrap: nowrap;
}
.site-nav ul {
	padding: 0;
	margin:0;
	list-style: none;
	column-count: 3;
	break-inside: avoid-column;

    @media screen and (max-width: 1000px) {column-count: 2;}
    @media screen and (max-width: 700px) {column-count: 1;}
}
.site-nav ul.main-nav > li {
    position: relative;
    display: block;
    float: left;
    width: 100%;
    margin-bottom: 10px;
    padding-right: 0px;
	break-inside:avoid-column;
}

.site-nav ul.main-nav > li  > a {
    color: #07286B;
    font-size: clamp(1.75rem, 1.568rem + 0.91vw, 2.25rem);
    font-weight: 800;
    display: block;
    padding: 10px 0;
    display: inline-block;
    position: relative;
    line-height: 1;
}
.site-nav ul.main-nav > li > a:after {
    content: '';
    height: 15px;
    display: block;
    background: #CEE6FE;
    width: 100%;
    position: absolute;
    top: 55%;
    z-index: -1;
}
.site-nav ul.sub-menu {
	column-count:1;
	break-inside:avoid-column;
}
.site-nav ul.sub-menu li a {
    display: block;
    font-size: 1.25;
    color: #000;
    font-weight: 400;
    padding: 10px 0;
}
.site-nav ul li:hover > a, .site-nav ul li.current-menu-item > a {
     color: #EB0C0C;
     text-decoration: none;
}
.site-nav {
    position: fixed;
    width: 100vw;
    background: #fff url(img/credentialbg.png) repeat center top / 100%;
    left: -100vw;
    z-index: 999999;
    transition: .3s;
    padding: 5%;
    height: 100vh;
}
.site-nav.active {
    left: 0;
}


/* Home Page Text over Video */




/* footer */
.footer {
    background-repeat: repeat;
    background-size: auto;
    background-position: center top;
    font-size: 1rem;
    font-weight: 300;
}
ul.footer-nav {
    padding: 0;
    list-style: none;
    margin: 0;
}
ul.footer-nav li {
	display: block;
	margin: 0 0 30px;
}
ul.footer-nav li a {
    font-size: 1.25rem;
    text-decoration: none !important;
    font-weight: 600;
    padding-left: 44px;
    background: url(img/longarrow.png) no-repeat left center;
}
ul.footer-nav li:hover a {
    color: var(--sun);
}
.footer_bottom h3 {
    font-size: 16px !important;
    font-weight: 400;
    color:var(--sun);
}
.footer_bottom .container {
    max-width: 1480px;
    padding-left: 40px;
    padding-right: 40px;
}
.contact_info ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.contact_info ul li a {
    font-size: 17px;
    font-weight: 600;
    padding:10px 0 10px 50px;
    background: url(img/icon_loc.png) no-repeat left center;
    display: block;
    text-decoration: none;
}
.contact_info ul li a:hover {
    color: var(--sun);
}
.contact_info ul li:nth-child(2) a {
    background-image: url(img/icon_phone.png);
}
.contact_info ul li:nth-child(3) a {
    background-image: url(img/icon_fax.png);
}
.contact_info ul li:nth-child(4) a {
    background-image: url(img/icon_mail.png);
}
.footer_bottom .add_social_media a {
    font-size: 22px;
    color: #fff;
    margin: 0 40px 0 0;
}
.footer_bottom .add_social_media a:hover {
    color: var(--sun);
}
.awards_logo.d-flex.align-items-center.justify-content-center {
    flex-wrap: nowrap;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.page_wrap * {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
*::-webkit-input-placeholder {
   color: #666;
}
*:-moz-placeholder { /* Firefox 18- */
   color: #666;
}
*::-moz-placeholder {  /* Firefox 19+ */
   color: #666;
}
*:-ms-input-placeholder {
   color: #666;
}
:focus::-webkit-input-placeholder{
     color:transparent;
}
:focus::-moz-placeholder{
     color:transparent;
}

.hidden {
	display:none !important;
}
.outline-btn {
    border: 3px solid var(--sun);
    padding: 15px 55px 15px 35px;
    line-height: 1;
    text-decoration: none !important;
    -webkit-transition: all 0.25s ease 0s;
    -moz-transition: all 0.25s ease 0s;
    -o-transition: all 0.25s ease 0s;
    transition: all 0.25s ease 0s;
    text-align: center;
    font-style: normal;
    color: var(--sun);
    letter-spacing: 0;
    text-align: center;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 700;
    display: inline-block;
    cursor: pointer;
}
.outline-btn:hover {
	background-color:  var(--sun) !important;
	color: #fff !important;
	border-color:  var(--sun) !important;
}
.outline-btn.gray-btn {
    border-color: #B4B4B4;
    color: var(--asphalt);
}
.outline-btn.solid-btn {
    background-color: var(--sun);
    color: #fff;
    border-color: var(--sun);
}
.outline-btn.solid-btn:hover  {
    background-color: #fff !important;
    color: var(--sun) !important;
    border-color: var(--sun) !important;
}
.rounded-btn {
    border-radius: 50px;
    text-transform: none;
}
.outline-btn.text-btn {
    color: #fff;
    border-color: transparent;
    text-decoration: underline !important;
}
.outline-btn.text-btn:hover {
    text-decoration: none !important;
}
.outline-btn.black-btn {
    color: #000;
}
.outline-btn.gray-btn {
    background-color: #CFCFCF;
    color: #000;
    border-color: #cfcfcf;
}


.our_services_items .inner:hover .text-btn  {
    text-decoration: none !important;
    background-color: var(--sun);
}
section {
	padding: 8rem 0 6rem;
}

/* Item Cards */
.col-lg-6 h3.fw700 {
    font-size: 3rem;
}

/* Slider */
.add_grid_content .row>div:first-child .inner {
    max-width: 700px;
}
.add_grid_content .row:not(.flex-row-reverse)>div:first-child .inner {
    float: right;
}
.oc_section_title h2 {
    font-weight: 800;
    color: var(--blue);
    margin: 0 0 10px;
}
.our_services_items {
    margin-top: -15px;
}
.our_services_items .inner {
    border: 1px solid #C9E0FF;
    padding: 30px;
    margin: 0 auto;
	max-width: 500px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
    transition: all .25s;
}
.our_services_items .inner:hover {
    background: #fff;
}
.our_services_items .inner:hover > h3, 
.our_services_items .inner:hover > h4, 
.our_services_items .inner:hover > p {
    color: #000;
}
.servicespage .our_services_items .inner h3, 
.servicespage .our_services_items .inner h4, 
.servicespage .our_services_items .inner p {
    color: #000;
}
.servicespage .our_services_items .inner {
    border-color: #B5B5B5;
    max-width: 450px;
}
.servicespage .outline-btn.text-btn {
    color: #000;
}
.quality_items_div .inner {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    height: 100%;
}
.add_grid_content h3 {
    color: var(--blue);
    font-weight: 800;
}
.latest-news img {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #D2D2D2;
    margin: 0 0 30px;
}
.latest-news strong.date {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: block;
    color: #616161;
    margin: 0 0 10px;
}
.innerblog .page-header-banner {
    background-image: url(img/innerblogbg.jpg);
}
.innerblog img.postimg {
    margin: -30px auto 0;
    border-radius: 12px;
    display: block;
}
.moreBox {
    display: none;
}
.cont-item.odd .serviceimg {
    float: right;
    margin: 5px 0 20px 40px;
    max-width: 50%;
}
.cont-item.even .serviceimg {
    float: left;
    margin: 5px 40px 20px 0;
    max-width: 50%;
}
.services_items ul {
    color: var(--blue);
    font-weight: bold;
}
.skip_to_content {
    display: inline-block;
    width: 42px;
    height: 42px;
    background: url(img/skiptocontent.png);
}
.aboutpage .quality_items_div .inner {
    justify-content: flex-start;
    padding: 20px;
    height: 315px;
    border: 1px solid #D2D2D2;
    border-radius: 10px;
}
.contracting_content h3, .mv_add_content h3 {
    margin-bottom: 30px;
    font-weight: 800;
    color: var(--blue);
    display: inline-block;
    position: relative;
}
.contracting_content h3:after, .mv_add_content h3:after {
    content: '';
    height: 15px;
    display: block;
    background: #CEE6FE;
    width: 100%;
    margin-top: -20px;
}
.add_grid_content .row>div:first-child {
    padding-left: 40px;
    padding-right: 40px;
}
.latest-news .row .inner {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
}
.quality_items_div {
    background-size: 100%;
    background-repeat: repeat;
}
.Leadership {
    background: #f5f5f3;
}

.Leadership .photo{
    position:relative;
}
.Leadership .photo .fl-social-icons{
    position: absolute;
    background: url(img/redbg.png) left top / 100%;
    width: 100%;
    height: 47px;
    z-index: 1;
    bottom: 0;
}

.Leadership .photo .fl-social-icons a {
    color: #fff;
    font-size: 30px;
    margin-left: 15px;
    margin-top: 14px;
    text-decoration: none !important;
    transition: all .25s;
}
.Leadership .photo .fl-social-icons a:hover {
    transform: scale(1.1);
}

.Leadership .item{
    padding-bottom: 35px;
    margin-bottom: 70px;
    position: relative;
}

.Leadership .item:after{
    border-bottom: 1px solid #dfdfde;
    content: '';
    width: 100%;
    display: block;
    margin: 0 15px;
    position: absolute;
    bottom: 0;
}

.Leadership .item:last-child:after{
    display:none;
}

.Leadership .item:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
}

.Leadership .item h2{
    margin-bottom:5px;
}

.Leadership .item .role{
    margin-bottom:25px;
    font-size: 1.125rem;
}

.IO.Section .item{
    text-align:center;
}

.IO.Section .item h3 {
    margin-top: 30px;
    font-size: 2.4rem;
    margin-bottom: 10px;
    color: var(--blue);
}

.IO.Section .item .image{
    background: #fff;
    text-align: center;
    border: 1px solid #dddddc;
    box-shadow: 0px 0px 1px #dddddc;
    height: 330px;
    display: table-cell;
    vertical-align: middle;
    width: 600px;
}

.IO.Section .item .image img{
    max-height: 80%;
}
.Grid.Section .item a:after{
    content:'';
    background-image:url(img/glass.png);
    background-position:50% 50%;
    background-repeat:no-repeat;
    background-color: rgba(235,12,12,0.65);
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    opacity: 0;
    transition: all .3s;
}
.Grid.Section .item:hover a:after{
    opacity: 1;
}

/*Fix Card title size */
.item .inner > h3, 
.item .inner > h4 {
    font-size: clamp(1.5rem, 1.227rem + 1.36vw, 2.25rem);
}






/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}


/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}








/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

/* Desktop */
@media screen and (min-width:0) and (max-width:1799px) {
    .site-nav ul.main-nav > li {
        float: none;
        width: 100% !important;
        text-align: center;
    }
} 

@media screen and (min-width:0) and (max-width:1439px) {
    .header .add_social_media a {
        margin-left: 15px;
    }
} 

@media screen and (min-width:0) and (max-width:1365px) {
    .header .container {
        padding-right: 60px;
        padding-left: 60px;
    }
    .our_services_items .inner {
        padding: 20px;
    }
    .our_services_items .inner .outline-btn.text-btn {
        font-size: 1rem;
    }
    .header .add_social_media a {
        margin-left: 10px;
    }
}

@media screen and (min-width:0) and (max-width:1199px) {
    .header .container {
        padding-right: 40px;
        padding-left: 40px;
    }
    .site-nav ul.sub-menu li a {
        font-size: 16px;
        line-height: 1.4;
    }
    .our_services_items {
        margin-top: -35px;
    }
}


/* Mobile */
@media screen and (min-width: 0) and (max-width: 991px) {
    header.active  {
        position: fixed;
    }
    body {
        min-width:320px;
    }
    .header .row>div:nth-child(2) {
        display: none;
    }
    .header .row>div {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .header .row>div:nth-child(3)>div:first-child {
        order: 2;
    }
    .header .row>div:nth-child(3)>div:last-child {
        order: 1;
    }
    .header.sticky .nav_logo {
        display: none !important;
    }
    .header .add_social_media a {
        margin: 0 20px 0 0;
    }
    .header.sticky .add_social_media a {
        color: var(--red);
    }
    .sitelogo {
        width: 100px;
    }
    .footer_bottom .row>div:nth-child(1) {
        order: 1;
    }
    .footer_bottom .row>div:nth-child(2) {
        order: 3;
    }
    .footer_bottom .row>div:nth-child(3) {
        order: 2;
    }
    .footer_bottom .row>div:nth-child(4) {
        order: 4;
    }
    .footer_bottom .row>div:nth-child(5) {
        order: 5;
    }
    .footer_bottom .row>div{
        padding-bottom: 20px;
    }
    .footer_bottom {
        padding-top: 60px;
    }
    .footer_bottom .row>div:nth-child(4), .footer_bottom .row>div:nth-child(5) {
        text-align: center;
    }
    .footer_bottom .row>div:nth-child(4) {
        padding-bottom: 0;
    }
    .footer_bottom .row>div:nth-child(5){
        padding: 0 0 50px;
    }
    .page-header-banner .container {
        padding-top: 0;
        padding-bottom: 0;
    }
    .footer_bottom .add_social_media a {
        margin: 0 20px;
    }
    .site-nav .add_social_media a {
        margin: 0 5px;
    }
    .site-nav ul.main-nav > li {
        float: none;
        width: 100% !important;
        text-align: center;
    }
} 

@media screen and (min-width:0) and (max-width:767px) {
    .cont-item.odd .serviceimg, .cont-item.even .serviceimg {
        float: none;
        max-width: 100%;
        display: block;
        margin: 0 auto 20px;
    }
    .site-nav .row>div:nth-child(1) {
        order: 1;
        text-align: left !important;
    }
    .site-nav .row>div:nth-child(2) {
        order: 3;
    }
    .site-nav .row>div:nth-child(3) {
        order: 2;
    }
    .site-nav .row>div:nth-child(1), .site-nav .row>div:nth-child(3) {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .site-nav ul.main-nav > li {
        float: none;
        width: 100% !important;
        text-align: center;
    }
    .site-nav {
        overflow: auto;
        padding:20px;
    }
    .site-nav .row>div:nth-child(1) .add_social_media {
        display: none;
    }
    .site-nav .row>div:nth-child(3) .add_social_media {
        display: block !important;
    }
    .header .container {
        padding-right: 20px;
        padding-left: 20px;
    }
   
    .outline-btn {
        font-size: 16px;
    }
    .add_grid_content_div {
        text-align: center;
    }
    .add_grid_content>.row {
        padding-bottom: 20px;
    }
    .latest-news .row>div {
        margin-bottom: 50px;
    }
    .WAC.Section .row>div:last-child{
        height: 300px;
    }
    section ul {
        list-style: inside;
    }
} 

@media screen and (min-width:0) and (max-width:575px) {
	.header .add_social_media a {
    	margin-right: 5px;
	}
	.site-nav .add_social_media a {
    	margin: 0 2px;
    	font-size: 12px;
	}
} 

@media screen and (max-width:400px) {
    body {padding:0;}	
} 






/* ======================== */
/*    2025 UPDATES   */
/* ======================== */
.mas-link,
.mas-link:active,
.mas-link:visited {
   color: var(--blue);
}
.mas-link:hover,
.mas-link:focus {
   color: var(--red);
   text-decoration: underline;
}

.text-balanced {
    text-wrap: balance;
}
.mas-card .mas-link,
.mas-card .mas-link:active,
.mas-card .mas-link:visited {
    color: #fff;
}
.mas-card:hover .mas-link,
.mas-card:hover .mas-link:active,
.mas-card:hover .mas-link:visited, 
.mas-card:focus .mas-link,
.mas-card:focus .mas-link:active,
.mas-card:focus .mas-link:visited {
    color: var(--red);
}

.mas-card:hover .outline-btn,
.mas-card:hover .outline-btn:active,
.mas-card:hover .outline-btn:visited, 
.mas-card:focus .outline-btn,
.mas-card:focus .outline-btn:active,
.mas-card:focus .outline-btn:visited {
    background-color: var(--red);
    color: #000;
}

.mas-card-grid-3 {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 2rem;
}	
@media screen and (min-width: 600px) {
.mas-card-grid-3 {
	grid-template-columns: repeat(2, 1fr);
	}
}
	
@media screen and (min-width: 900px) {
.mas-card-grid-3 {
	grid-template-columns:  repeat(3, 1fr);
}
}

.mas-card {
	border: 1px solid rgba(0,0,0,0.3);
	padding: 2rem;
	text-align: center;
	display: flex;
    flex-flow: column;
    justify-content: flex-start;
    color: #fff;
    background-color: var(--blue);
}
.mas-card h3, .mas-card p {
    color: #fff !important;
}

.mas-card:hover h3, .mas-card:focus h3,
.mas-card:hover p, .mas-card:focus p  {
    color: #000 !important;
}

.mas-card h3, .mas-card p {
    color: #fff !important;
}
.mas-card:hover, .mas-card:focus {
    color: #000;
    background-color: #fff;
}
.mas-card .text-btn, .mas-card .text-btn:visited {
    color: #fff !important;
}
.mas-card .text-btn:hover, .mas-card .text-btn:focus {
    color: #000 !important;
}
.mas-card-title {
	font-weight: bold;
	font-size: 27px;
	line-height: 1.2;
	text-wrap: pretty;
}
.mas-card ul {
	list-style-type: none;
	font-size: 1.25rem;
	line-height: 1.2;
	margin: 0;
	padding: 0;
}
.mas-card .btn-holder {
	margin-top: auto;
	padding-top: 16px;
}
.mas-card .btn {
	min-width: 160px;
	min-height: 20px;
	line-height: 30px;
	border: none;
}
.mas-3-list {
	text-align: center;
}
.mas-3-list li {
    display: inline-block;
	font-weight: bold;
	font-size: 25px;
    padding: .125rem 1rem;
    border-left: 1px solid #0067b1;
    border-right: 1px solid #0067b1;
}
.mas-3-list li::marker {
	color: #0067b1;
}
.careerdiv h2 {
    margin-block: 6rem 2rem;
}
.hideat750 {
    display: block;
    @media screen and (max-width: 750px) {display: none;}
}

.showat750 {
    display: none;
    @media screen and (max-width: 750px) {display: block;}
}
.march-right {
    float: right;
    max-width: 50%;
    margin-left: 10px;
}



/* ======================== */
/*    2025 HOMEPAGE   */
/* ======================== */
 .header-mast-2025 {
    position: relative;
    min-height: 600px;
    width: 100%;
    overflow: hidden;
    padding: 175px 20px 100px;
}
.header-mast-2025::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.25;
    z-index: 1;
}
.header-mast-wrap {
    text-align: center; 
    position: relative;
    z-index: 4;
}
.header-mast-2025 video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
.header-mast-wrap h1 {
    font-size: clamp(2.188rem, -0.653rem + 14.2vw, 10rem) !important; 
    color: #fff;
    font-weight: 800;
    line-height: 1.1;
    margin-left: -40%;
}
.header-mast-wrap h1 .red {
    margin-left: 20%;
    display: block;
}
.header-mast-wrap h1 .hmw-last {
    margin-left: 50%;
	margin-top: -5px;
    display: block;
}
.header-mast-wrap h2, .intro_text {
    font-size: clamp(20px, 1.023rem + 1.14vw, 30px) !important; 
    color: #fff;
    font-weight: 400;
    padding-top: 24px; 
    margin-bottom: 16px;
    text-wrap: balance;
}
.header-mast-wrap p {
    margin-bottom: 30px;
    color: #98b2f6;
    font-weight: 700;
}
.header-mast-wrap ul {
    margin-bottom: 30px;
	padding-inline: 0;
    color: #98b2f6;
    font-weight: 700;
}
.header-mast-wrap ul li {
    display: inline-block;
    text-decoration: none;
    text-wrap: nowrap;
    padding: 0 1.25rem;
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;

    @media screen and (max-width: 700px) {
        display: block;
        border: none;
    }
}
.mas-h3-clamp {
    font-size: clamp(1.5rem, 1.227rem + 1.36vw, 2.25rem) !important;
}
.section_title {
    font-size: clamp(2.188rem, 0.71rem + 7.39vw, 6.25rem) !important; 
}

/*  HOMEPAGE CERTIFICATIONS */
.quality_items {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-gap: 1rem;

    @media screen and (max-width: 700px) {grid-template-columns: repeat(2,1fr);}
}
.mas-img-spacer {
    display: grid;
    grid-template-columns: 1fr;
    height: 160px;
    align-content: center;
    margin-bottom: 0.5rem;
}
.mas-img-spacer img {
    max-height: 150px;
    width: auto;
    margin-inline: auto;
}
.quality_items .inner p {
    line-height: 1.1;
    clear: both;
}


/*  CLIENT LIST */
.client-list-wrap {
    display: grid;
    grid-template-columns: repeat(11,1fr);
    grid-gap: 1rem;

    @media screen and (max-width: 1000px) {grid-template-columns: repeat(6,1fr);}
    @media screen and (max-width: 700px) {grid-template-columns: repeat(3,1fr);}
}
.oc_section_title {
    text-wrap: balance;
}


/* ======================== */
/*    2025 ABOUT US   */
/* ======================== */
.section_text p {
    margin-bottom: 1rem;
    text-wrap: pretty;
}
.mv_add_content h3 {
    font-size: clamp(2rem, 1.636rem + 1.82vw, 3rem) !important;
}
.quality_items .inner h6 {
    font-size: 16px !important;
}
.quality_items .mas-cert-image {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    height: 200px;
    margin-bottom: 0.5rem;
}
.quality_items .mas-cert-image img {
    max-height: 90%;
    width: auto !important;
}

.ourclientspage .client_list .oc_section_title p {
    font-size: 1.5rem !important;
}


/* ======================== */
/*    2025 Benefits   */
/* ======================== */
.benefits-head {
    font-size: clamp(2rem, 1.273rem + 3.64vw, 4rem) !important;
    padding: 6rem 2rem 3rem;
}
.benefits-2nd-head {
    font-size: clamp(2rem, 1.273rem + 3.64vw, 4rem) !important;
    text-align: left;

    @media screen and (max-width: 800px) {text-align: center}
}
.benefits-grid {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem; 
    list-style-type: none;
    text-align: center;

    @media screen and (max-width: 1200px) {grid-template-columns: repeat(4, 1fr);}

    @media screen and (max-width: 900px) {grid-template-columns: repeat(3, 1fr);}

    @media screen and (max-width: 600px) {grid-template-columns: repeat(2, 1fr);}
}
.benefits-grid li {
    margin: 0;
    padding: 1rem;
    border: 1px solid rgba(0,0,0,0.3);
    border-radius: 5px;
    font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
    line-height: 1.1;
    min-height: 200px;
    text-wrap: balance;
}
.benefits-grid li img {
    max-width: 40%;
    height: auto;
    display: block;
    margin-inline: auto;
    margin-bottom: 0.5rem;
}



/* ======================== */
/*    2025 CEO LETTER   */
/* ======================== */
.letterofpage h1 {
    font-size: clamp(3rem, 1.364rem + 8.18vw, 7.5rem);
}
.letterofpage h2 {
    font-size: 2rem;
}
@media screen and (max-width: 800px){
.CorporateValues {
    margin-top: 0;
    padding-top: 0;
}
.OurVision {
    padding-bottom: 2rem;
    padding-top: 2rem;
}
}



/* ======================== */
/*    2025 CEO LETTER   */
/* ======================== */
.leadershippage .fl-content-full .item h3 {
    font-size: clamp(3rem, 2.364rem + 3.18vw, 4.75rem);
}





/* ======================== */
/*    2025 QUALITY  */
/* ======================== */
.int_org_title {
    font-size: clamp(2rem, 1.636rem + 1.82vw, 3rem);
}
.int_org_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;

    @media screen and (max-width: 800px) {grid-template-columns: repeat(2, 1fr);}
}
.int_org_grid h4 {
    margin: 0;
    padding: 1.5rem 0;
    font-size: clamp(1rem, 0.636rem + 1.82vw, 2rem) !important;
    text-align: left;
}
.int_org_grid p {
    text-align: left;
    padding-right: 20px;
}
.mas-qual-cols {
    column-count: 1;
    margin-bottom: 2rem;

    @media screen and (min-width: 800px) {column-count: 2;}
}
.mas-qual-cols li {
    padding-right: 20px;
    break-inside: avoid-column;
}





/* ======================== */
/*    2025 NEWS  */
/* ======================== */
.latest-news h4 {
     font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}





/* ============================ */
/*    2025 DATA & ANALYTICS     */
/* ============================ */
.danda {
    max-width: 75ch;
    margin-inline: auto;
}
.danda-head {
    font-weight: bold;
    color: #07286B;
    font-size: clamp(3rem, 2.5rem + 2.5vw, 4.375rem);
}
.danda-head:not(:first-of-type) {
    margin-top: 6rem;
    padding-top: 3rem;
    border-top: 1px dotted #07286B;
}
.danda-icon {
    float: left;
    margin-right: 10px;
    max-width: 50%;
}
.danda-body {
    max-width: 75ch;
}






/* ============================ */
/*    Careers -- Hot Jobs    */
/* ============================ */
.hotjobslist {
    list-style-type: none;
}
.hotjobslist li {
    margin: 0;
    padding: 0;
    border-top: 1px dotted var(--blue);
}
.hotjobslist li:last-child {
    border-bottom: 1px dotted var(--blue);
}
.hotjobslist li a:before {
    content: '';
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'><path fill='gold' d='M341.5 45.1C337.4 37.1 329.1 32 320.1 32C311.1 32 302.8 37.1 298.7 45.1L225.1 189.3L65.2 214.7C56.3 216.1 48.9 222.4 46.1 231C43.3 239.6 45.6 249 51.9 255.4L166.3 369.9L141.1 529.8C139.7 538.7 143.4 547.7 150.7 553C158 558.3 167.6 559.1 175.7 555L320.1 481.6L464.4 555C472.4 559.1 482.1 558.3 489.4 553C496.7 547.7 500.4 538.8 499 529.8L473.7 369.9L588.1 255.4C594.5 249 596.7 239.6 593.9 231C591.1 222.4 583.8 216.1 574.8 214.7L415 189.3L341.5 45.1z'/></svg>");
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 20px;
    left: 10px;
}
.hotjobslist li a, .hotjobslist li a b {
    display: block;
}
.hotjobslist li a, .hotjobslist li a:visited {
    background-color: #fff;
    color: #000;
    padding: 1rem  0.25rem 1rem 3.25rem;
    margin: 0;
    position: relative;
    transition: 0.5s ease;
}
.hotjobslist li a:focus, .hotjobslist li a:hover {
    color: #fff;
    background-color: var(--blue);
}
/* ---- classes.css ---- */
/* general */

.btn {

    min-width: 210px;

    letter-spacing: 1px;

    border: 1px solid #000;

    min-height: 65px;

    line-height: 55px;

    text-align: center;

    font-size: 14px;

    font-weight: bold;

}

 .complete, .more {

	display: none;

}

/*.h_l {

	position: relative;

}

.h_l:before {

	content: '';

	display: block;

	position: absolute;

	right: 0;

	bottom: 0;

	height: 34px;

	width: 273px;

}*/





/* Effects */





 a {

	-webkit-transition:  all 0.25s ease 0s;

    -moz-transition:  all 0.25s ease 0s;

    -o-transition:  all 0.25s ease 0s;

    transition:  all 0.25s ease 0s;

}





/* Arrow Down Effects */





/* displays */

.block {

	display:block;

}

.inlineblock {

	display:inline-block;

}

.width100p {

	width: 100%;

}



/* positionings */

.relative {

	position:relative;

}







/* font style */

.underline {

	text-decoration:underline;

}

.strong {

	font-weight:bold;

}





/* font sizes */

.fs14 {

	font-size: 1.124rem;

}

.fs16 {

	font-size: 1.25rem;

}
.fs32 {
	font-size: 3.2rem;
}





/*.fw weight */

.fw600 {

	font-weight:600;

}

.fw700 {

	font-weight:700;

}

.fw800 {

	font-weight:800;

}





/* lineheights */



/* colors */

.white {

	color:#fff !important;

}
.red {
	color: var(--red) !important;
}
.blue {
	color: var(--blue);
}


/* bg colors */

.bclightgray {

	background-color:#F3F3F5;

}



/* borders */





/* margins */

.mt-50 {
    margin-top: -2.5vw !important;
}

.mb0 {

	margin-bottom:0 !important;

}

.mb20 {

    margin-bottom: 20px !important;

}

.mb30 {

	margin-bottom:30px;

}

.mb40 {

	margin-bottom:40px !important;

}

.mb60 {

	margin-bottom:60px;

}

.mb100 {

	margin-bottom:100px;

}

.ml10 {

	margin-left:10px;

}

.mr10 {

	margin-right:10px;

}



/* paddings */

.pt0 {

	padding-top:0;

}

.pt20 {

	padding-top:20px;

}

.pt30 {

	padding-top:30px;

}

.pt40 {

	padding-top:40px;

}

.pt50 {

	padding-top:50px;

}

.pt60 {

	padding-top:60px;

}

.pt100 {

	padding-top:100px;

}

.pb0 {

	padding-bottom:0 !important;

}

.pb10 {

	padding-bottom:10px;

}

.pb20 {

	padding-bottom:20px;

}

.pb40 {

	padding-bottom:40px;

}

.pb50 {

	padding-bottom:50px;

}

.pb60 {

	padding-bottom:60px;

}

.pb70 {

	padding-bottom:70px;

}

.pb80 {

	padding-bottom:80px;

}

.pb100 {

	padding-bottom:100px;

}

.pl0 {

	padding-left:0;

}

.pl10 {

	padding-left:10px;

}

.pl30 {

	padding-left:30px;

}

.pl40 {

	padding-left:40px;

}

.pr0 {

	padding-right:0;

}

.pr10 {

	padding-right:10px;

}

.pr30 {

	padding-right:30px;

}

.pr40 {

	padding-right:40px;

}


/* ---- customizer css ---- */

/* ---- extra.css (static build) ---- */
/* Additions for the static build: replaces behaviour that used to come from
   Font Awesome, Owl Carousel, AOS and jQuery. Everything else is the original theme CSS. */

/* inline SVG icons that replace Font Awesome */
.ico { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; fill: currentColor; }
.outline-btn .ico { margin-left: .35em; }
.add_social_media .ico { width: 1.15em; height: 1.15em; }
.fl-social-icons .ico { width: 1.25em; height: 1.25em; }

/* controls that were <a>/<span> and are now real buttons */
button.nav-trigger, button#loadMore { font: inherit; }
button.nav-trigger { background-color: transparent; border: 0; padding: 0; cursor: pointer; }

/* news grid: theme CSS hides .moreBox and jQuery used to .show() them.
   Without JS every card is visible; with JS the first 9 show and the button reveals 3 more. */
html:not(.js) .moreBox { display: block !important; }
.js .moreBox.is-visible { display: block !important; }
.js .moreBox:not(.is-visible) { display: none !important; }
.js #loadMore.is-done, html:not(.js) #loadMore { display: none !important; }

/* certification logos on About: was an Owl carousel, now a static flex grid */
.quality_items.grid-static { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px 30px; }
.quality_items.grid-static .item { flex: 0 1 220px; }
.quality_items.grid-static .item img { max-width: 100%; height: auto; }

/* image columns that used background images */
.bg-cover { background-size: cover; background-position: center; min-height: 320px; }

/* contact page without the form */
.contact-static ul { list-style: none; padding: 0; margin: 0; }
.contact-static li { margin-bottom: .75rem; font-size: 1.05rem; }

/* content videos (former [video] shortcode) */
.default_content video, article video { max-width: 100%; height: auto; }

/* images inside editor content should never overflow */
article img, .SectionText img, .inner img, .default_content img { max-width: 100%; height: auto; }

/* AOS used to hide elements until scrolled; make sure nothing stays hidden */

/* ===================================================================
   Responsive / sizing fixes
   -------------------------------------------------------------------
   Everything below overrides theme rules that assumed a desktop
   viewport. It is appended last so plain class/element selectors win
   without needing !important (except where the theme used !important).
   =================================================================== */

/* --- 1. Type scale -------------------------------------------------
   The theme's headings bottomed out at 4rem/3rem/2.5rem and h4-h6 had
   no fluid size at all, so a phone got a 67px page title. Every clamp
   below keeps the theme's exact size from 1200px up and only changes
   what happens on narrower screens. */
.h1, h1 { font-size: clamp(2rem, -0.571rem + 11.43vw, 8rem); }
.h2, h2 { font-size: clamp(1.75rem, -0.5rem + 10vw, 7rem); }
.h3, h3 { font-size: clamp(1.5rem, 6.67vw, 5rem); }
.h4, h4 { font-size: clamp(1.25rem, 0.758rem + 2.19vw, 2.4rem); }
.h5, h5 { font-size: clamp(1.125rem, 0.75rem + 1.67vw, 2rem); }
.h6, h6 { font-size: clamp(1rem, 0.657rem + 1.52vw, 1.8rem); }
.p, p { font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem); }

/* Long single words (Administration, Telecommunications, URLs) are
   wider than a phone screen at heading sizes. body sets
   word-break: break-word, which chops mid-syllable and takes priority
   over hyphens, so headings opt back out of it: overflow-wrap still
   breaks a word that cannot fit a line on its own, but only after
   hyphenation has had its chance. */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Headings the theme sized separately, same treatment. */
.letterofpage h1 { font-size: clamp(2rem, -0.356rem + 10.48vw, 7.5rem); }
.leadershippage .fl-content-full .item h3 { font-size: clamp(1.75rem, 0.464rem + 5.71vw, 4.75rem); }
.danda-head { font-size: clamp(1.625rem, 0.446rem + 5.24vw, 4.375rem); }
.mas-card-title { font-size: clamp(1.25rem, 1.063rem + 0.83vw, 1.688rem); }
.mas-3-list li { font-size: clamp(1.125rem, 0.911rem + 0.95vw, 1.563rem); }
.fs32 { font-size: clamp(1.75rem, 1.129rem + 2.76vw, 3.2rem); }

/* --- 2. Gutters ----------------------------------------------------
   .container kept a 40px gutter on both sides at every width, leaving
   240px of usable width on a 320px phone. */
@media screen and (max-width: 575px) {
    .container { padding-right: 20px; padding-left: 20px; }
}

/* --- 3. Rows in wrappers that have no padding ----------------------
   A Bootstrap .row cancels its -12px gutters against its container's
   padding. These two wrappers have none, so on /about-us/giving-back/
   and /careers/benefits/ the row hung 12px past both screen edges at
   every width and the photos were clipped. */
.fl-content-full-width > .row,
.container-fluid.pl0.pr0 > .row,
.container-fluid.pl0.pr0 > * > .row {
    margin-right: 0;
    margin-left: 0;
}

/* --- 4. Float containment ------------------------------------------
   Editor content uses WordPress's alignleft/alignright floats and
   nothing cleared them. On 13 news posts the floats escaped the
   article and squashed "Other News" and the whole footer into a
   narrow column against the right edge. */
article,
.danda,
.danda-body { display: flow-root; }
.danda-head { clear: both; }

/* The service-page icons float beside body copy; below tablet width
   that leaves the text in a ~150px ribbon. */
@media screen and (max-width: 767px) {
    .danda-icon,
    .march-right {
        float: none;
        max-width: 60%;
        margin: 0 auto 1rem;
        display: block;
    }
}

/* --- 5. Home page masthead -----------------------------------------
   The stepped headline positioned its three lines with percentage
   margins (-40% / +20% / +50%) against the full mast width, so
   "Delivered" ran to within a few pixels of the right edge from 768px
   to 1180px and "Integrity" crossed the left edge at 1180px. Stepping
   in em keeps the same staircase but ties it to the text, and
   fit-content + auto margins centre the block inside the mast's
   padding instead of overhanging it. */
.header-mast-wrap h1 {
    margin-left: 0;
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    text-align: left;
}
.header-mast-wrap h1 .red { margin-left: 0.6em; }
.header-mast-wrap h1 .hmw-last { margin-left: 1.2em; }

/* --- 6. Off-canvas menu --------------------------------------------
   100vw is wider than the viewport when a scrollbar is present, and
   100vh with no scrolling hid the lower menu items on short screens
   (landscape phone, small laptop). */
.site-nav {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    left: -100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}
.site-nav.active { left: 0; }
/* was "font-size: 1.25" - no unit, so the declaration was dropped */
.site-nav ul.sub-menu li a { font-size: 1.25rem; }

/* --- 7. Benefits grid ----------------------------------------------
   Two 1rem-padded cells on a phone leave under 100px of text width. */
@media screen and (max-width: 575px) {
    .benefits-grid { gap: 1rem; }
    .benefits-grid li { padding: 0.75rem 0.5rem; min-height: 0; hyphens: auto; }
    .benefits-head { padding: 3rem 1rem 2rem; }
}

/* --- 8. Nested @media, flattened -----------------------------------
   The customizer CSS nests @media inside style rules. That is CSS
   Nesting, which Safari before 16.5, Firefox before 117 and Chrome
   before 112 do not parse - on those devices the nested rules are
   dropped and the grids stay at their desktop column counts. These
   duplicates say the same thing in syntax every browser understands. */
@media screen and (max-width: 1200px) {
    .benefits-grid { grid-template-columns: repeat(4, 1fr); }
}
@media screen and (max-width: 1000px) {
    .site-nav ul { column-count: 2; }
    .client-list-wrap { grid-template-columns: repeat(6, 1fr); }
}
@media screen and (max-width: 900px) {
    .benefits-grid { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (max-width: 800px) {
    .benefits-2nd-head { text-align: center; }
    .int_org_grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (min-width: 800px) {
    .mas-qual-cols { column-count: 2; }
}
@media screen and (max-width: 750px) {
    .hideat750 { display: none; }
    .showat750 { display: block; }
}
@media screen and (max-width: 700px) {
    .site-nav ul { column-count: 1; }
    .quality_items { grid-template-columns: repeat(2, 1fr); }
    .client-list-wrap { grid-template-columns: repeat(3, 1fr); }
    .header-mast-wrap ul li { display: block; border: none; }
}
@media screen and (max-width: 600px) {
    .benefits-grid { grid-template-columns: repeat(2, 1fr); }
}

/* --- 9. Leadership divider ------------------------------------------
   The rule under each leader was width:100% plus a 15px side margin on
   an absolutely positioned pseudo-element, so it stuck 15px past the
   row and widened the page on phones. */
.Leadership .item:after {
    width: auto;
    margin: 0;
    left: 15px;
    right: 15px;
}

/* --- 10. 404 page ---------------------------------------------------
   Every other banner carries an inline background image; the 404 one
   has none, so its "white" text sat on a white page and the whole
   message was invisible. */
.error404 .page-header-banner {
    background-color: var(--blue);
}

/* the "return to the home page" link is white on blue like the body text */
.error404 .page-header-banner a { text-decoration: underline; }

/* --- 11. Logo and portrait normalisation -----------------------------
   Every logo row here mixes aspect ratios: circular award badges next to
   wide wordmarks, square ISO badges next to a 2.8:1 CMMI banner. The theme
   caps ONE axis, so whichever logo does not hit that cap renders at its own
   natural size. Constraining both axes and letting object-fit letterbox
   inside the box is what actually makes a mixed row look uniform. */

/* Award row in the sticky header. Measured before: 154px, 61px, 154px, 46px
   tall — a 3.3x spread, because max-height was unset. Uniform height is the
   conventional treatment for a logo bar; max-width stops the widest
   wordmark from crowding the others. */
.nav_logo .item img {
    height: 52px;
    width: auto;
    max-width: 130px;
    object-fit: contain;
}

/* Certifications row. The CMMI banner is 300x107 natural, so a 150px
   max-height never bound it and it rendered 300px wide beside 150px
   squares. The row is a 160px-tall centred grid, so a width cap is all
   that is missing. */
.mas-img-spacer img {
    max-height: 150px;
    max-width: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Leadership portraits are 443x640, 666x998, 429x572, 517x640 and 768x900 —
   aspect ratios from 0.67 to 0.85, which is why the grid looked ragged. A
   fixed 3:4 box crops rather than stretches; top-anchored so the crop takes
   it off the bottom of the frame and not off someone's head. */
.Leadership .photo img {
    width: 100%;
    aspect-ratio: 3 / 4;
    height: auto;
    object-fit: cover;
    object-position: center top;
}

/* Service-card icons are 700x700 source art dropped straight into a 450px
   card, so they rendered ~371px tall and pushed the card past the height of
   the viewport. They are decorative icons, not imagery: cap them so the card
   reads as a card, with the heading and list carrying the content. */
.our_services_items .inner .mb20 img {
    width: auto;
    height: auto;
    max-width: 120px;
    max-height: 120px;
    object-fit: contain;
}

/* Hero headline ceiling. theme-css/style.css sets
     .header-mast-wrap h1 { font-size: clamp(2.188rem, -0.653rem + 14.2vw, 10rem) !important }
   so from about 1200px upward the headline pins at 10rem / 160px, the masthead runs
   past 800px tall and the CTA drops below the fold. Only the ceiling changes here:
   the minimum and the slope are identical, so small screens render exactly as before
   and the headline simply stops growing sooner. 8rem/128px was chosen over the
   theme's 10rem/160px, which overwhelmed wide screens, and over a 6rem first
   attempt that looked undersized on a landscape monitor. The !important is not
   decoration —
   the theme rule carries one, and a plain declaration silently loses to it. */
.header-mast-wrap h1 {
    font-size: clamp(2.188rem, -0.653rem + 14.2vw, 8rem) !important;
}
/* --- 12. Header logo aspect ratio -----------------------------------
   The logo carries width="640" from the markup, which sets its CSS
   width; max-width:100% then shrank that to the header column and
   max-height:100px clamped the height on its own, with nothing
   recomputing the width. The oval stretched wider the wider the screen
   got - 1.86:1 natural, but 3:1 at 1440px and 4.4:1 at 2000px. Letting
   the width follow from the height keeps it round. Below 992px the
   mobile rule already pins the width, so this only applies above it. */
@media screen and (min-width: 992px) {
    .site_logo img.sitelogo { width: auto; }
}

/* Same cause on the ISO certification tiles: width="700" from the
   markup with only max-height to cap them, so the square seals were
   drawn 336x262. The .image cell is text-align:center, so an auto
   width still centres. (The two 2025-era max-height rules,
   .mas-img-spacer img and .quality_items .mas-cert-image img, already
   set width:auto - these two older theme rules never did.) */
.IO.Section .item .image img { width: auto; }

/* --- 13. Certifications wall (About) --------------------------------
   Two separate alignment faults, both visible on /about-us/.

   The wall was a centred flex row of 220px tiles, so eight logos wrapped
   5 + 3 and the second row was centred rather than sitting under the
   columns above it - no tile lined up with the one below. A fixed
   column count makes it two even rows that actually form columns.

   Inside each tile, .mas-cert-image is a 200px-tall grid box that never
   set align-content, so every logo sat hard against the top and the
   slack fell below it: 22px under the square ISO seals but 137px under
   the wide CMMI banner, which left that tile looking empty with its
   caption stranded. Centring the logo evens out every tile. (The
   homepage's equivalent box, .mas-img-spacer, already does this - only
   this one was missed.) */
.quality_items.grid-static {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-items: center;
    gap: 40px 30px;
}
.quality_items.grid-static .item {
    flex: none;
    width: 100%;
    max-width: 220px;
}
.quality_items .mas-cert-image { align-content: center; }

@media screen and (max-width: 991px) {
    .quality_items.grid-static { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 700px) {
    .quality_items.grid-static { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Two columns on a phone leave a 160px tile, and 20px of padding each
   side cut the caption to 118px - 3px short of "Administration". */
@media screen and (max-width: 575px) {
    .quality_items.grid-static .inner { padding-left: 10px; padding-right: 10px; }
}
