/* ---- 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.
 */

/**
 * 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}::-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; hyphenate instead. */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    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; }
