:root {
    --brand-color1: #012B3A;
    --brand-color2: #FF4C46;
    --brand-color3: #F7F7F9;
    --brand-color4: #F2F4F5; 
    --brand-color5: #004963;
    --bs-carousel-caption-color: #000000;
    --midnight-blue: #012b3a;
    --dark-slate-grey: #004963;
    --tomato: #ff4c46;
    --white: white;
    --medium-aquamarine: #42d49c;
    --honeydew: #dfffde;
    --teal: #007978;
    --light-sea-green: #00a68a;
    --pale-green: #87f8ae;
    --white-2: #fffc;
}

/* Typography */

h1, h2, h3, h4, h5, h6 {
  line-height: normal;
  letter-spacing: normal;
  font-weight: 700;
  color: var(--brand-color1);
}

h1, h2 {
  font-family: Montserrat, sans-serif;  
}

h3, h4, h5, h6 {
  font-family: Montserrat, sans-serif;  
}

body, p {
  line-height: normal;
  letter-spacing: normal;
  font-family: Montserrat, sans-serif;
  color: var(--brand-color1);
  font-weight: 500;
  font-size: 16px;
}

a, 
a:visited {
  font-weight: 500;
}

@media (min-width: 768px) {
h1 {
  letter-spacing: -.025em;
  font-size: 64px;
  line-height: 115%;
   }

h2 {
  letter-spacing: -.025em;
  font-size: 40px;
  line-height: 115%;  
}  

h3 {
  letter-spacing: -.025em;
  font-size: 24px;
  line-height: 115%;
  }
}

/* Nav */

img.logo {
  width: 270px;
}

nav.navbar.navbar-expand-lg.navbar-light.navbar-main.bg-light {
  background-color: var(--white)!important;
  border-bottom: 1px solid var(--brand-color4);
}

.nav-link {
  color: var(--brand-color1);
  font-size: 16px;
  font-weight: 500;
  line-height: 160%;
}

.navbar {
  --bs-navbar-nav-link-padding-x: 20px;
}

.navbar .other-option .settings-btn {
  background: none;
  padding: 0;
  margin-right: 10px;
  color: var(--brand-color1);
}

.navbar .other-option .settings-btn,
.navbar .other-option .jobs-btn {
    font-size: 16px;
    font-weight: 500;
    padding: 5px 20px;
}

.navbar .other-option .jobs-btn {
  color: #fff;
  background: var(--brand-color1);
  letter-spacing: .025em;
  padding: 13px 20px;
  font-size: 16px;
  line-height: 150%;
  transition: all .4s;
  font-weight: 700;
  text-decoration: none;
  border-radius: 8px;  
}

.navbar .other-option .jobs-btn:hover {
  background: var(--brand-color5);
}

/* Buttons */
  a.button,
  .btn {
    text-transform: capitalize;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
  }

@media (min-width: 768px) {
  a.button,
  .btn {
    letter-spacing: -.015em;
    padding: 20px 25px;
    font-size: 18px;
    line-height: 125%;
  }
}

a.button.button1,
a.button.button1:active,
a.button.button1:focus,
a.button.button1:visited {
  border: 3px solid var(--brand-color1);
  background: var(--brand-color1);
  color: var( --white);
}

a.button.button1:hover {
  color: var(--white);
  background-color: var(--brand-color5);
  border: 3px solid var(--brand-color5)!important;
}

a.button.button2,
a.button.button2:hover,
a.button.button2:active,
a.button.button2:focus,
a.button.button2:visited {
  background-color: var(--white);
  border: 3px solid var(--white);
  color: var(--brand-color1);
}

a.button.button3,
a.button.button3:hover,
a.button.button3:active,
a.button.button3:focus,
a.button.button3:visited {
  border: 3px solid var(--teal);
  background: var(--teal);
  color: var( --white);
}

a.button.button4,
a.button.button4:hover,
a.button.button4:active,
a.button.button4:focus,
a.button.button4:visited {
  border: 3px solid var(--brand-color2);
  background: var(--brand-color2);
  color: var( --white);
}

.btn-primary,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:visited {
  border: 3px solid var(--brand-color1)!important;
  background: var(--brand-color1);
  color: var( --white);
}

.btn-primary:hover {
  color: var(--white);
  background-color: var(--brand-color5);
  border: 3px solid var(--brand-color5)!important;
}

.btn-success,
.btn-success:hover,
.btn-success:active,
.btn-success:focus,
.btn-success:visited {
  background-color: var(--brand-color2);
  border: 3px solid var(--brand-color2);
  color: var(--white);
}

/* Search Page */

.job-search-filter-groups {
  background-color: var(--brand-color4);
}

.job-search-results-title a, 
.job-search-results-title a:visited {
  color: var(--brand-color1);
  font-weight: 700;
}

.job-search-filter-header {
  letter-spacing: -.025em;
  font-size: 20px;
  line-height: 115%;  
}

label {
  font-weight: 500!important;
}

/* Job page */

.block-job-description .job-title {
  display: none;
}

.sidebar h3.job-title {
  color: var(--brand-color2)!important;
}

/* Footer */

footer {
  background-color: var(--white);  
}

footer small {
  color: var(--brand-color1);
  margin-bottom: 0;
  font-weight: 600;
  font-size: 14px;
}

footer ul {
  margin-bottom: 0;
}

footer small a {
  border-right: 1px solid var(--brand-color1);
  margin-right: 10px;
  padding-left: 0;
  padding-right: 10px;
}

footer .list-inline-item:not(:last-child) {
  margin-right: 0;
}

footer .list-inline-item:last-child a {
  border-right: none;
}

/* Banner */

.banner-header .row,
.banner-header-left .row {
    --bs-gutter-x: 30px;
}

.banner-header .page-block,
.banner-header-left .page-block {
  padding: 0 30px;
}

@media (min-width: 768px) {
  .banner-header-left .col-md-6:first-child {
      /* Adjust the left margin for the left column to start its content from a desired position (considering a 12-column grid) */
      margin-left: calc((100% - 750px) / 2);
      
      /* Control the maximum width of the left column content */
      max-width: calc(750px / 12 * 6);
  }
}

@media (min-width: 992px) {
  .banner-header-left .col-md-6:first-child {
      /* Adjust the left margin for the left column to start its content from a desired position (considering a 12-column grid) */
      margin-left: calc((100% - 970px) / 2);
      
      /* Control the maximum width of the left column content */
      max-width: calc(970px / 12 * 6);
  }
}

@media (min-width: 1200px) {
  .banner-header-left .col-md-6:first-child {
      /* Adjust the left margin for the left column to start its content from a desired position (considering a 12-column grid) */
      margin-left: calc((100% - 1170px) / 2);
      
      /* Control the maximum width of the left column content */
      max-width: calc(1170px / 12 * 6);
  }
}

@media (min-width: 1400px) {
  .banner-header-left .col-md-6:first-child {
      /* Adjust the left margin for the left column to start its content from a desired position (considering a 12-column grid) */
      margin-left: calc((100% - 1320px) / 2);
      
      /* Control the maximum width of the left column content */
      max-width: calc(1320px / 12 * 6);
  }
}

@media (min-width: 768px) {
  .banner-header .col-md-6:last-child {
      /* Pushes the right edge of the content in to align with the container */
      margin-right: calc((100% - 750px) / 2);
      
      /* Restricts the width to half of the container width */
      max-width: calc(750px / 12 * 6);
  }
}

@media (min-width: 992px) {
  .banner-header .col-md-6:last-child {
      margin-right: calc((100% - 970px) / 2);
      max-width: calc(970px / 12 * 6);
  }
}

@media (min-width: 1200px) {
  .banner-header .col-md-6:last-child {
      margin-right: calc((100% - 1170px) / 2);
      max-width: calc(1170px / 12 * 6);
  }
}

@media (min-width: 1400px) {
  .banner-header .col-md-6:last-child {
      margin-right: calc((100% - 1320px) / 2);
      max-width: calc(1320px / 12 * 6);
  }
}

.center-text div[class*=col-] {
  align-self: center !important;
}

.sidebar {
  background: var(--brand-color4);
  padding: 1em;
  margin-bottom: 30px;
}

.input-group input, .input-group-btn button {
  height: 52px;
}

.badge {
  background-color: var(--brand-color1);
  color: white;
}

.candidate-settings-panel {
    background-color: var(--brand-color4);
}

table {
  font-size: 100%;
}

.image-64 {
    object-fit: scale-down;
    width: 125px;
    max-height: 50px;
    margin-right: 10px;
}

/* Accordion */

.white-block #accordion .card {
  background-color: transparent;
  border: none;
}

.white-block #accordion .btn,
.white-block #accordion .btn:hover {
  --bs-btn-color: var(--brand-color1);
  padding: 0 ;
}

.white-block #accordion .card-header {
  border-bottom: none;
  background-color: transparent;
}

@media (min-width: 767px) {
  .col-md-6, .col-md-4, .col-md-8 {
    .block-image-cover {
        height: 600px;
    }
  }
}

blockquote {
    border-left: 0;
    padding: 0;
    margin: 0;
}

/* Testimonials */

.testimonials img.carousel-item-block-image {
  width: 100px;
  border-radius: 50%;
}

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
    background-color: var(--brand-color1);
    border-color: var(--brand-color1);
}

.page-link {
  color: var(--brand-color1);
}

.page-link:hover {
  color: var(--brand-color1);
}

.easy-autocomplete input {
  border-radius: 8px;
}

.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-radius: 8px;
}

.job-search-control .fix-autocomplete {
  margin-right: 15px;
}

/* Locations */

.locations .block-image-cover {
    height: 250px;
    border-radius: 8px;
  transition: background-size 0.7s ease-in-out;
  background-size: cover;
}

.locations .block-image-cover:hover {
  background-size: 150%;
}

blockquote {
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 30px;
}

a, a:visited {
  color: #012b3a;
}

/* Carousel */

.carousel-item-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Ensure the image is centered if it isn't full-width */
.carousel-item-block-image {
    margin: 0 auto;
    display: block;
}

/* Override the inline styles on the text */
.carousel-item-caption-detail h2, 
.carousel-item-caption-detail p {
    text-align: center !important;
}

/* 4. Force override the inline styles on the text */
.carousel-item-caption-detail h3,
.carousel-item-caption-detail h4,
.carousel-item-caption-detail h5,
.carousel-item-caption-detail p {
    text-align: center !important;
}

.carousel-item-caption-detail h3 {
  color: var(--brand-color2);  
}

.carousel-item-caption-detail h3,
.carousel-item-caption-detail h4,
.carousel-item-caption-detail h5 {
  margin-bottom: 0;
}

.carousel-indicators [data-bs-target] {
  background-color: #e02f36;
}

.carousel {
  background-color: #F2F4F5;
  padding: 30px;
  border-radius: 8px;
}

footer .container,
footer .container .row {
  align-items: center;
}

.page-body.page.not-editing {
  padding-top: 82px;
}

@media (max-width: 767px) {
  .carousel-caption {
    position: static!important;
  }

  blockquote {
    font-size: 23px;
  }

  .navbar-nav .pt-3 {
    padding-top: 0 !important;
  }

  .navbar .other-option .settings-btn {
    padding: 0;
  }  

  .navbar .other-option .jobs-btn {
    display: block;
    width: fit-content;
    margin: 20px 0 10px 0;
  }

  ul.navbar-nav.mr-auto {
    padding-bottom: 10px;
  }
}

/* Utility/Helpers*/
.img-border-radius .block-image img,
.img-border-radius .block-image-cover {
    border-radius: 0.875rem;
}

.name-saffron .block-text p,
.name-saffron .block-richtext p,
.name-saffron .block-content p {
  color: #E03035;
}

.white-links a,
.white-links a:visited {
  color: #ffffff !important;
}