@charset "UTF-8";
/*
This file is used to contain all abstracts imports.
Files inside this folder can contain abstract settings, helpers or functions. They have no direct output.
*/
/* 
Boilerplate for responsive typography.
Obtained from: https://github.com/robertraichle/fluid-type-mixin
*/
/*
This file is used to contain all base imports.
Files inside this folder can contain global styles used in the project.
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * 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,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*! Accessible Reset v1.0.0 | MIT License | github.com/matssom/accessible-reset.git */
/* 
    Makes every element inherit box-sizing from the body
*/
*,
*::before,
*::after {
  box-sizing: inherit;
}

/*
    (1) Setting the default font-size to 62.5% of the user agent stylesheet.
        This results in 1rem beeing equal to 10px if the user agent stylesheet is set to 16px.
        Calculations will be much easier for the developer if 1rem == 10px
    (2) Ensuring the height of the html element does not prevent body tags from expanding
    (3) Permanently enables the scrollbar to avoid rezising when moving between scrollable and non-scrollable pages on windows.
*/
html {
  font-size: 62.5%; /* (1) */
  height: 100%; /* (2) */
  width: 100%; /* (2) */
  overflow-y: scroll; /* (3) */
}

/*
    (1) Padding and border becomes a part of the entire elements width
    (2) Removes the default body margin
    (4) Setting font-size back to the default user agent stylesheet (16px)
    (5) Adding fallback font
    (6) Setting font color to be a tiny bit lighter than black.
*/
body {
  box-sizing: border-box; /* (1) */
  margin: 0; /* (2) */
  font-size: 1.6rem; /* (4) */
  font-family: sans-serif; /* (5) */
  color: #1b1b1b; /* (6) */
}

/*
    Enable focus outline for keyboard users
*/
*:focus {
  outline: 2px solid rgb(54, 54, 54);
  outline-offset: 1px;
}

/* 
    Disable focus outline for not-tabbing users
*/
body:not(.user-is-tabbing) button:focus,
body:not(.user-is-tabbing) input:focus,
body:not(.user-is-tabbing) select:focus,
body:not(.user-is-tabbing) textarea:focus,
body:not(.user-is-tabbing) a:focus {
  outline: none;
}

/* 
    Preventing images from being wider than it's container by default 
*/
img {
  max-width: 100%;
}

/* Scroll and link jump behavior for page links */
html {
  scroll-behavior: smooth;
}

:target:before {
  content: "";
  display: block;
}

section {
  margin: 0 0 1rem 0;
}

.main-padding {
  padding-left: 10vw;
  padding-right: 10vw;
}

.section-main {
  padding: 1vh 10vw;
}

.container {
  margin: 2rem 0;
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
  gap: 1rem;
  justify-content: space-between;
}
.container .flex-item {
  width: 100%;
}

.top {
  margin-top: 10vh;
}

@media (min-width: 300px) {
  .top {
    margin-top: 5vh;
  }
}
@media (min-width: 568px) {
  .container {
    flex-flow: row wrap;
  }
  .container .flex-item {
    width: 45%;
  }
}
html {
  font-size: 16px;
}
@media (min-width: 640px) and (max-width: 1439px) {
  html {
    font-size: 19.5px;
    font-size: calc(16px + (23 - 16) * (100vw - 640px) / (1440 - 640));
  }
}
@media (min-width: 1440px) {
  html {
    font-size: 23px;
  }
}

/* Basic typography style for copy text */
body {
  color: rgb(34, 34, 34);
  font: normal 125%/1.4 "Open Sans", "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}

/* Text selection / highlight color */
::selection {
  background: #3A632F;
}

/* Text decorations */
a {
  color: rgb(68, 68, 68);
  border-bottom: 5px solid transparent;
}

a:link {
  text-decoration: underline;
}

a:visited {
  color: rgb(153, 153, 153);
}

a:hover {
  border-bottom: 5px solid #991C22;
  text-decoration: none;
}

a:active {
  border-bottom: 5px solid #991C22;
  text-decoration: none;
}

strong {
  font-weight: 700;
}

/* Headings */
h1 {
  font-size: 1.5em;
}

h2 {
  font-size: 1.4em;
}

h3 {
  font-size: 1.25em;
}

h4 {
  font-size: 1.15em;
}

h5 {
  font-size: 1.1em;
}

h6 {
  font-size: 1.075em;
}

p {
  font-size: 1em;
}

.subtitle {
  margin: 0;
  color: rgb(68, 68, 68);
}

@media (min-width: 568px) {
  h1 {
    font-size: 2em;
  }
  h2 {
    font-size: 1.85em;
  }
  h3 {
    font-size: 1.7em;
  }
  h4 {
    font-size: 1.55em;
  }
  h5 {
    font-size: 1.4em;
  }
  h6 {
    font-size: 1.25em;
  }
}
.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  flex-flow: wrap;
  gap: 1rem;
}

.flex.space-between {
  justify-content: space-between;
}

/*
This file is used to contain all layout imports.
Files inside this folder can contain specific element styles and layout. 
*/
/* ===== navigation.scss ===== */
/* header */
.menu-icon {
  padding-right: 10vw;
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  align-items: center;
  background-color: #fff;
  box-shadow: 1px 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.header ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color: #fff;
  display: none;
  width: 100vw;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.75em;
}

.header li a {
  display: block;
  padding: 2.5vh 10vw;
  text-decoration: none;
  letter-spacing: 1px;
}

.header li a:hover,
.header .menu-btn:hover {
  background-color: #f4f4f4;
}

.header .logo {
  text-decoration: none;
  height: 10vh;
  vertical-align: middle;
}

.link-logo {
  margin-left: 10vw;
}
.link-logo a {
  border: none;
}
.link-logo a:hover {
  border: none;
}

/* menu */
.header .menu {
  clear: both;
  max-height: 0;
  transition: max-height 0.2s ease-out;
}

/* menu icon */
.header .menu-icon {
  cursor: pointer;
  display: inline-block;
  padding: 28px 10vw 20px 20px;
  position: relative;
  -webkit-user-select: none;
  user-select: none;
}

.header .menu-icon .navicon {
  background: rgb(34, 34, 34);
  display: block;
  height: 2px;
  position: relative;
  transition: background 0.2s ease-out;
  width: 18px;
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
  background: rgb(34, 34, 34);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transition: all 0.2s ease-out;
  width: 100%;
}

.header .menu-icon .navicon:before {
  top: 5px;
}

.header .menu-icon .navicon:after {
  top: -5px;
}

/* menu btn */
.header .menu-btn {
  display: none;
}

.header .menu-btn:checked ~ .menu {
  display: block;
  max-height: 100vh;
}

.header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}

@media (max-width: 300px) {
  .header {
    flex-flow: column wrap;
    justify-content: center;
  }
  .header .logo, .header ul {
    padding: 0;
  }
  .header .menu-icon {
    padding: 28px 20px;
  }
}
@media (min-width: 1024px) {
  .header ul {
    width: auto;
    text-align: left;
    background-color: #fff;
    padding: 0 10vw 0 0;
  }
  .header li {
    float: left;
    padding: 1em 0 1em 1em;
  }
  .header li a {
    padding: 0;
    font-size: 0.6em;
  }
  .header li a:hover,
.header .menu-btn:hover {
    background-color: transparent;
  }
  .header .menu {
    clear: none;
    float: right;
    max-height: none;
  }
  .header .menu-icon {
    display: none;
  }
  .header ul {
    display: block;
  }
}
.primary-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  align-items: flex-end;
  background-color: #fff;
  padding: 5vh 10vw;
  gap: 1rem;
  font-size: 75%;
}
.primary-footer h2 {
  margin: 0 0 1rem 0;
}
.primary-footer ul, .primary-footer p {
  margin: 0;
}

.careers-leadership {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.careers-leadership p {
  margin-top: 0;
}

/*
This file is used to contain all component imports.
Files inside this folder should contain all styles relating to a reusable component.
*/
.hero {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  background-color: rgb(153, 153, 153);
  color: #fff;
  padding: 20vh 10vw 10vh 10vw;
  text-align: center;
}
.hero h1 {
  font-size: 1em;
}
.hero p {
  font-size: 0.9em;
}
.hero br {
  display: none;
}

/* For support in Internet Explorer */
.hero > * {
  width: 100%;
}

.img-container {
  content: "";
  background: url(/assets/images/hero-main.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (min-width: 350px) {
  .hero {
    height: 100vh;
  }
}
@media (min-width: 900px) {
  .hero {
    padding: 1vh 10vw;
  }
  .hero h1, .hero p {
    font-size: inherit;
  }
  .hero br {
    display: block;
  }
}
.ul {
  list-style-type: none;
}

.ul-primary {
  list-style-type: none;
  line-height: 200%;
}
.ul-primary li::before {
  display: inline-block;
  content: "■"; /* Add content: \2043 is the CSS Code/unicode for a hyphen */
  color: #991C22;
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-right: 0.5em; /* Also needed for space (tweak if needed) */
}

/* Description Lists */
.dl-sam {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
  font-size: 0.75em;
}
.dl-sam dt {
  font-weight: 600;
}
.dl-sam dd {
  margin-bottom: 1em;
  margin-inline-start: 0;
}

/* Mobile phones in landscape mode */
@media (min-width: 568px) {
  .dl-sam {
    flex-flow: row wrap;
  }
  .dl-sam div {
    width: 50%;
  }
  .dl-sam dd {
    margin-inline-start: 1em;
  }
}
/**
 * 1. Reset the default styles from a list.
 */
.list-cards {
  list-style: none; /* 1 */
  padding-left: 0; /* 1 */
  margin: 0; /* 1 */
}

/* Contact Details List */
.list-contact {
  list-style-type: none;
  padding-inline-start: 0;
}
.list-contact a {
  text-decoration: none;
}
.list-contact li {
  display: flex;
  flex-flow: wrap;
  align-items: center;
  margin-bottom: 1rem;
}
.list-contact li i {
  margin-right: 1em;
}
.list-contact li:last-child {
  margin-bottom: 0;
}

/* Guiding Principles Section */
.list-gp {
  line-height: 2em;
  text-align: left;
  list-style-type: none;
  padding-inline-start: 0;
  margin-top: 0;
}
.list-gp li:before {
  content: "+";
  margin-right: 0.5em;
  vertical-align: middle;
  font-size: 2em;
}

/* The animation code */
@keyframes grow {
  50% {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
  }
}
.grow:hover {
  animation-name: grow;
  animation-duration: 0.5s;
}

.heading-with-decoration {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  /* workaround for IE11 */
  display: table;
  text-align: center;
  margin-bottom: 3rem;
}
.heading-with-decoration:before {
  content: "";
  display: block;
  height: 5rem; /* fixed header height*/
}

.heading-decoration {
  -webkit-transition: width 2s, height 4s; /* Safari */
  transition: width 2s, height 4s;
  display: flex;
  flex-flow: nowrap;
  width: 60%;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  margin: 0 auto;
}

.blue-stripe {
  width: 40%;
  height: 0.25rem;
  background-color: #991C22;
}

.blue-dot {
  margin: 0px 0.25rem;
  height: 0.5rem;
  width: 0.5rem;
  background-color: #991C22;
}

.component-background {
  background-color: rgb(237, 237, 237);
  padding: 1em;
  border-radius: 1em;
  box-shadow: 6px 6px 4px 2px rgb(153, 153, 153);
}

.card-container {
  display: flex;
  -webkit-display: box;
  -moz-display: box;
  -ms-display: flexbox;
  -webkit-display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3em;
  margin: 2em 0;
  font-size: 0.75em;
  /* Tablets */
}
.card-container .card {
  background-color: #fff;
  border: 2px solid #092C66;
  text-align: left;
  width: 100%;
  overflow: hidden;
  transition: transform 0.5s;
  -webkit-transition: transform 0.5s;
}
.card-container .card:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  box-shadow: 12px 12px 2px 1px rgb(153, 153, 153);
}
.card-container .card:hover .card-image {
  opacity: 1;
}
.card-container .card img {
  display: block;
  width: 100%;
  height: 200px;
}
.card-container .card h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #092C66;
  color: #fff;
  padding: 1em;
  margin: 0;
  text-align: center;
  height: auto;
}
.card-container .card p {
  padding: 0 1em;
}
.card-container .card ul {
  padding-inline: 40px;
}
@media (min-width: 568px) {
  .card-container .card {
    width: 45%;
  }
  .card-container .card h3 {
    font-size: 1em;
    height: 6rem;
  }
  .card-container .card p, .card-container .card ul li {
    font-size: 0.75em;
  }
}
@media (min-width: 1024px) {
  .card-container .card {
    width: 30%;
  }
}

/* Tables and larger devices */
@media (min-width: 1024px) {
  .card-container {
    gap: 1em;
  }
}
/* Accessible Cards based off of https://kittygiraudel.com/2022/04/02/accessible-cards/ */
/**
* 1. Make each item look like a card.
* 2. Provide position context for the button pseudo-element.
* 3. Enable flex layout for left/right items.
*/
.card-careers {
  border: 1px solid rgb(153, 153, 153); /* 1 */
  box-shadow: 0 0 0.5em -0.15em rgba(50, 0, 0, 0.15); /* 1 */
  padding: 1em; /* 1 */
  margin: 1em 0;
  position: relative; /* 2 */
  display: flex; /* 3 */
  align-items: center; /* 3 */
  gap: 1em; /* 3 */
  justify-content: space-between;
}

/**
* 1. Reset the default styles from a heading (in case it is a
*    `<hx>` element).
*/
.card-title {
  font-size: 100%; /* 1 */
  margin-top: 0; /* 1 */
  margin-bottom: 0.5em; /* 1 */
  font-weight: bold;
}

/**
* 1. Reset the default styles from a link.
*/
.card-primary-action {
  text-decoration: none; /* 1 */
}

/**
* 1. Use a pseudo-element to expand the hitbox of the link over
*    the whole card.
* 2. Expand the hitbox over the whole card.
* 3. Show that the card is interactive.
*/
.card-primary-action::before {
  content: ""; /* 1 */
  position: absolute; /* 2 */
  top: 0; /* 2 */
  left: 0; /* 2 */
  right: 0; /* 2 */
  bottom: 0; /* 2 */
  border: 5px solid transparent; /* 3 */
  cursor: pointer; /* 3 */
  transition: border-color 200ms;
}

/**
* 1. Hide the default focus outline as it’s recreated with a border.
*/
.card-primary-action:focus {
  outline: none; /* 1 */
}

/**
* 1. Display interactivity on hover/focus by highlighting the border.
*/
.card-primary-action:hover::before,
.card-primary-action:focus::before {
  border-color: #092C66; /* 1 */
}

.card-meta {
  margin: 0;
}

/* Guiding Principles Cards */
.card-gp {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
}
.card-gp.centered {
  justify-content: center;
}
.card-gp img {
  width: 5em;
  height: 5em;
}

/* Tablets */
@media (min-width: 768px) {
  .card-gp {
    flex-flow: row wrap;
  }
  .card-gp :first-child {
    width: 50%;
  }
  .card-gp img {
    width: 10em;
    height: 10em;
  }
}
.container .card {
  display: flex;
  flex-flow: row wrap;
  justify-content: left;
  gap: 1em;
  margin-bottom: 1em;
  font-size: 0.75em;
}
.container .card .bullseye {
  width: 1em;
  height: 1em;
  background: url(/assets/icons/bullseye.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  align-self: center;
}
.container .card h3, .container .card h4, .container .card p {
  margin: 0;
}
.container .card .accordion, .container .card p {
  width: 100%;
}
.container .card .accordion {
  position: relative;
}
.container .card .accordion .details {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.5s;
}
.container .card input {
  display: none;
}
.container .card label::before {
  content: "+";
  display: inline-block;
  color: #092C66;
  margin-right: 0.5em;
}
.container .card label {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
}
.container .card input:checked ~ h4 label::before {
  content: "-";
}
.container .card input:checked ~ h4 ~ div.details {
  max-height: 100%;
}

.wrapper-accordions h3, .wrapper-accordions h4, .wrapper-accordions p {
  margin: 0;
}
.wrapper-accordions .accordion, .wrapper-accordions p {
  width: 100%;
}
.wrapper-accordions .accordion {
  position: relative;
}
.wrapper-accordions .accordion .details {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.5s;
}
.wrapper-accordions input {
  display: none;
}
.wrapper-accordions label::before {
  content: "+";
  display: inline-block;
  color: #092C66;
  margin-right: 0.5em;
}
.wrapper-accordions label {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
}
.wrapper-accordions input:checked ~ h4 label::before {
  content: "-";
}
.wrapper-accordions input:checked ~ h4 ~ div.details {
  max-height: 100%;
}

.primary-button {
  display: block;
  border: none;
  color: #fff;
  background-color: #092C66;
  transition: transform 0.5s;
  -webkit-transition: transform 0.5s;
  padding: 0.5em;
}
.primary-button:hover {
  border: none;
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  box-shadow: 6px 6px 2px 1px rgb(153, 153, 153);
}
.primary-button:hover .card-image {
  opacity: 1;
}
.primary-button:visited, .primary-button:hover, .primary-button:link {
  text-decoration: none;
}
.primary-button:visited {
  color: #fff;
}

/* Social Media Icons */
i {
  width: 2em;
  height: 2em;
  background-repeat: no-repeat;
}

.icon-wrapper {
  display: block;
  width: 2em;
  height: 2em;
  border: 0;
}
.icon-wrapper:hover {
  border: 0;
}
.icon-wrapper i {
  display: block;
  width: 100%;
  height: 100%;
}

.social-menu {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1em;
}

.social-menu li {
  list-style: none;
}

.icon-linked-in {
  background: url("/assets/icons/linkedin.svg");
}

.icon-phone {
  background: url("/assets/icons/telephone.svg");
}

.icon-email {
  background: url("/assets/icons/email.svg");
}

.icon-address {
  background: url("/assets/icons/map-marker.svg");
}

.icon-leadership {
  background: url("/assets/icons/map-marker.svg");
}

.icon-bullseye {
  background: url("/assets/icons/bullseye.svg");
}

.skip {
  position: absolute;
  left: -1000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip:focus {
  position: static;
  width: 100%;
  height: auto;
}

/* Target IE10+ */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  a.skip {
    position: relative;
    width: 100%;
  }
}
/* Simple Pure CSS Carousel */
.carousel {
  display: block;
  overflow: hidden;
  height: 425px;
  background: url(/assets/images/GNSS_Constellations_1920w_light.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  background-color: rgb(34, 34, 34);
  width: 100%;
  text-align: center;
  position: relative;
}
.carousel .carousel-buttons {
  display: flex;
  flex-flow: row wrap;
}
.carousel br {
  display: none;
}
.carousel page {
  position: absolute;
  top: 2em;
  left: 0;
  width: 100%;
  transition: transform 0.5s;
  transform: scale(0);
  color: white;
  padding: 1em 10vw;
}
.carousel page .item {
  text-align: left;
  margin-bottom: 1em;
}
.carousel page .item h4, .carousel page .item p {
  margin: 0 0 0.5em 0;
}
.carousel #page1cb:checked ~ #page1 {
  transform: scale(1);
}
.carousel #page2cb:checked ~ #page2 {
  transform: scale(1);
}
.carousel #page3cb:checked ~ #page3 {
  transform: scale(1);
}

/* Tablets */
@media (min-width: 568px) {
  .carousel {
    height: 800px;
  }
}
/* Large screens */
@media (min-width: 900px) {
  .carousel br {
    display: block;
  }
}
/*
This file is used to contain all page specific css imports.
*/
.hero-404 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: flex-start;
  gap: 1rem;
  background-color: #fff;
  color: rgb(34, 34, 34);
  padding: 10vh 10vw;
  height: 100vh;
  text-align: left;
}

/* For support in Internet Explorer */
@media (min-width: 768px) {
  .hero-404 {
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
  }
  .hero-404 div {
    width: 50%;
  }
}

/*# sourceMappingURL=styles.css.map */
