/* VARIABLES
--------------------------------------------- */

:root {
    --clr-background-primary: #ffffff;
    --clr-background-muted: #eeeeee;

    --clr-primary: #01558B;
    --clr-secondary: #F89D33;

    --clr-text-primary: #000000;
    --clr-text-link: #01558B;
    --clr-text-link-hover: #1a3547;

    --clr-light: #ffffff;
    --clr-muted: #666666;
    --clr-success: #10b547;
    --clr-warning: #f0bc00;
    --clr-danger: #e2321b;
    --clr-dark: #000000;

    --fnt-family-primary: 'Archivo', sans-serif;;
    --fnt-size-default: 18px;
    --fnt-size-lg: 1.5rem;
}

/* BASE
--------------------------------------------- */

*,
*:before,
*:after {
    box-sizing: border-box;
}

body,
html {
    font-family: var(--fnt-family-primary);
    color: var(--clr-text-primary);
    font-size: var(--fnt-size-default);
    background-color: var(--clr-background-primary);
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fnt-family-primary);
    font-weight: bold;
    color: var(--clr-text-primary);
}

h1 {
    font-size: 3rem;
    color: var(--clr-primary);
    position: relative;
    font-weight: normal;
}

h1::after {
    content: '';
    display: none;
    height: 6px;
    background-color: var(--clr-secondary);
    position: absolute;
    bottom: -.5rem;
    width: 100%;
}

h2 {
    font-size: 1.8rem;
    color: var(--clr-primary);
    padding-bottom: .75rem;
    position: relative;
}

h2::after {
    content: '';
    display: block;
    height: 3px;
    background-color: var(--clr-secondary);
    position: absolute;
    bottom: 0;
    width: 120px;
}

h2.has-text-align-center::after {
    left: 50%;
    transform: translateX(-50%);
}

h3 {
    font-weight: 100;
    font-size: 1.5rem;
    margin: 3rem 0;
}

a {
    color: var(--clr-text-link);
    transition: color .25s ease;
    text-decoration: underline;
    text-decoration-color: var(--clr-secondary);
    text-decoration-thickness: 3px;
    text-underline-offset: 4px;
    font-weight: normal;
    transition: all .25s ease;
}

a:hover {
    color: var(--clr-text-link-hover);
}

/* LAYOUT
--------------------------------------------- */

/* - Header - */

.site-header {
    background-color: white;
    transition: opacity .25s ease;
	z-index: 100;
	position: relative;
}

.uk-offcanvas-container .site-header.uk-sticky-fixed {
    opacity: 0;
}

.site-header.uk-sticky-fixed {
    background-color: white;
    box-shadow: 0 14px 25px rgba(0,0,0,.16);
}

.site-navbar {}

.site-navbar__left {}
.site-navbar__right {}

.site-navbar .site-navbar__toggle {
    color: var(--clr-text-primary);
}

.site-navbar__logo-link {
    font-weight: bold;
    justify-content: flex-start;
}

.site-navbar__logo-img {
    width: auto;
    height: 42px;
}

/* - Primary navigation - */

.nav-main {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 50px;
}

.nav-main__item {}

.nav-main .nav-main__link {
    font-size: 1rem;
    position: relative;
    text-transform: none;
    font-family: var(--fnt-family-primary) !important;
    color: var(--clr-text-link);
    align-items: flex-end;
    font-weight: normal;
    font-size: 1.2rem;
    padding-bottom: 8px;
}

.nav-main .nav-main__link::after {
    content: '';
    display: block;
    height: 3px;
    background-color: var(--clr-secondary);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    opacity: 0;
    transition: all .35s ease;
}

.nav-main .nav-main__link:hover::after,
.nav-main .nav-main__item:hover .nav-main__link::after,
.nav-main .current-menu-item .nav-main__link::after,
.nav-main .current-menu-ancestor .nav-main__link::after {
    width: 100%;
    opacity: 1;
}

.nav-main .nav-main__link:hover {
    color: var(--clr-text-link-hover);
}

.nav-main__subnav .nav-main__link {
    font-size: 1rem;
}

.nav-main__subnav .nav-main__link::after {
    display: none;
}


/* - Mobile navigation - */

.nav-mobile a {
    color: var(--clr-light) !important;
    font-size: 1.5rem;
}

.nav-mobile .sub-menu a {
    color: var(--clr-light);
    opacity: 0.8;
    font-size: 1.2rem;
}

/* - Main - */

.site-content {
    margin-bottom: 4rem;
}

.content-page .wp-block-post-featured-image {
    margin: 6rem 0;
}

/* - Footer - */

.site-footer {
    background-color: var(--clr-primary);
    color: var(--clr-light);
    padding: 4rem 0 2rem 0;
    line-height: 200%;
    font-size: .85rem;
}

.nav-footer {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav-footer .sub-menu {
    display: none;
}


.nav-footer a {
    text-decoration: none;
    color: var(--clr-light);
}


/* COMPONENTS
--------------------------------------------- */

.post-excerpt {
  margin-bottom: 3rem;
}

.post-excerpt__date {
  text-transform: uppercase;
  font-size: .85rem;
}

.post-excerpt__title {
  margin: .5rem 0;
  padding: 0;
  line-height: 1.1;
}


.post-excerpt__title::after {
  display: none;
}

.post-excerpt__title a {
  text-decoration: none;
}

.post-excerpt__subtitle {
  margin: .5rem 0;
  padding: 0;
  font-size: .9rem;
}

.post-excerpt__subtitle a {
  text-decoration: none;
}

.post-excerpt__read {
  display: block;
  text-align: right;
  font-size: .85rem;
  text-transform: uppercase;
}

.box-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.box-list li {
  background-color: var(--clr-primary);
  color: var(--clr-light);
  padding: 1rem;
  margin-bottom: .5rem;
  box-shadow: 0 14px 25px rgba(0,0,0,.16);
  font-weight: 100;
  font-size: 1.5rem;
}

.uk-active > .faqs__category-link {
  font-weight: bold;
}

.icons-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.icons-list li {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 100;
    padding: 1rem 0 1rem 92px;
    position: relative;
}

.icons-list .icon {
    position: absolute;
    left: 0;
    font-size: 64px;
    color: var(--clr-primary);
}

.wp-block-spacer {
    margin: 50px 0;
}

.wp-block-spacer.spacer-small {
    margin: 0px 0;
	height: 60px !important;
}

.wp-block-buttons {
    margin: 3rem 0;
}

.wp-block-button__link {
    background-color: var(--clr-light);
    color: var(--clr-primary);
    border: 2px solid var(--clr-primary);
    border-radius: 0;
    text-transform: uppercase;
    font-weight: bold;
    font-size: .85rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wp-block-button__link:hover {
    text-decoration: none;
}

.has-icon .wp-block-button__link::after {
    display: block;
    margin-left: 2rem;
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    color: var(--clr-secondary);
}

.has-icon.icon-trending_flat .wp-block-button__link::after {
    content: '\e8e4';
}

.team .uk-card-header {
    border-bottom: 3px solid var(--clr-secondary);
}

/* UTILITIES
--------------------------------------------- */

.offset-left {
    margin-left: 480px;
}

.has-lg-font-size {
    font-size: var(-fnt-size-lg) !important;
}

.wp-block-group {
    padding-top: 2rem;
    padding-bottom: 2rem;
}


.wp-block-separator {
    margin: 4rem 0;
    border: 1px solid white;
}

.full-width {
    width: 100vw;
    position: relative;
    margin-left: -50vw;
    margin-top: 100px;
    left: 50%;
}

.background-primary {
    background-color: var(--clr-primary);
}


/* OVERRIDES & PLUGINS
--------------------------------------------- */

.uk-button.uk-button-primary {
	background-color: var(--clr-primary)
}

.uk-form-label {
	font-size: 1.25rem;
	font-weight: 200;
	margin-bottom: .25rem;
	display: block;
}

.uk-input, .uk-textarea {
	border: 0;
	border-bottom: 3px solid #dddddd;
	background-color: #eeeeee;
}

.uk-input:focus, .uk-textarea:focus {
	border: 0;
	border-bottom: 3px solid var(--clr-secondary);
}


.uk-overlay-primary {
    background: rgb(1, 85, 139,.5);
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
}

.uk-close:focus,
.uk-close:focus-visible {
    outline: none;
}

.uk-offcanvas-bar {
    background-color: var(--clr-primary);
}

.uk-card h3 {
    margin: 0 0 1rem 0;
}

.cards-blue .uk-card {
    background-color: var(--clr-primary);
    color: var(--clr-light);
    box-shadow: 0 20px 30px rgba(0,0,0,.3);
    font-weight: 100;
}

.cards-blue .uk-card h3 {
    color: var(--clr-light);
}

.ripple-circle{
    position: absolute;
    border-radius: 50%;
    background: transparent;
    border: 10px solid #F89D33;
    animation: ripple 5s;
	z-index: 120;
	pointer-events: none;
}

.ripple-xxlarge{
    width: 1200px;
    height: 1200px;
    right: -600px;
    top: -600px;
    opacity: 0.2;
}

.ripple-xlarge{
    width: 1000px;
    height: 1000px;
    right: -500px;
    top: -500px;
    opacity: 0.4;
}

.ripple-large{
    width: 400px;
    height: 400px;
    right: -200px;
    top: -200px;
    opacity: .5;
    display: none;
}

@keyframes ripple{
    0%{
        transform: scale(0.75);
    }

    100%{
        transform: scale(1);
    }
}


/* MEDIA QUERIES
--------------------------------------------- */


/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {}

/* Extra Small Devices, Phones */
@media only screen and (min-width : 640px) {

}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {

}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
	
	h1 {
		font-size: 4rem;
	}

	h2 {
		font-size: 2.5rem;
	}

	h3 {
		font-size: 2rem;
	}
    .site-navbar > * {
        align-items: flex-end;
    }

    .site-navbar__logo-link {
        align-items: flex-end;
    }

    .site-navbar__logo-img {
        height: 54px;
    }

    .site-header {
        background-color: transparent;
    }
}


/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {

}

@media only screen and (min-width : 1400px) {}

/* Mobile only */
@media screen and (max-width: 640px) {

}


.uk-timeline .uk-timeline-item:after, .uk-timeline .uk-timeline-item:before {
  content: "";
  display: block;
  width: 100%;
  clear: both;
}

.uk-timeline {
  margin: 30px auto;
  position: relative;
  padding: 0 10px;
}
.uk-timeline:before {
  content: "";
  width: 3px;
  height: 100%;
  background: var(--clr-secondary);
  left: 50%;
  top: 0;
  position: absolute;
}
.uk-timeline:after {
  content: "";
  clear: both;
  display: table;
  width: 100%;
}
.uk-timeline .uk-timeline-item {
  margin-bottom: 0px;
  position: relative;
}
.uk-timeline .uk-timeline-item .uk-timeline-icon {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  left: 50%;
  overflow: hidden;
  margin-left: -23px;
  background-color: var(--clr-secondary);
}
.uk-timeline .uk-timeline-item-inverted .uk-timeline-icon {
  background-color: var(--clr-primary);
}
.uk-timeline .uk-timeline-item .uk-timeline-content {
  width: 40%;
  padding: 20px;
  text-align: right;
}

.uk-timeline .uk-timeline-item .uk-timeline-content h3 {
  padding: 10px 20px;
  margin: -20px -20px 0 -20px;
  background-color: var(--clr-primary);
  color: var(--clr-light);
  font-weight: bold;
  font-size: 1.5rem;
}

.uk-timeline .uk-timeline-item-inverted .uk-timeline-content h3 {
  background-color: var(--clr-secondary);
}

.uk-timeline .uk-timeline-item .uk-timeline-content:before {
  content: "";
  position: absolute;
  right: -15px;
  top: 14px;
  width: 0px;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid var(--clr-primary);
}

.uk-timeline .uk-timeline-item-inverted .uk-timeline-content:before {
  border-left: 15px solid var(--clr-secondary);
}

.uk-timeline .uk-timeline-item .uk-timeline-content.right {
  float: right;
}

.uk-timeline .uk-timeline-item .uk-timeline-content.right {
    text-align: left;
}

.uk-timeline .uk-timeline-item .uk-timeline-content.right:before {
  content: "";
  /* right: -20px; */
  left: -20px;
  border-left: 0;
  border-right: 20px solid var(--clr-primary);
}

.uk-timeline .uk-timeline-item-inverted .uk-timeline-content.right:before {
  border-right: 20px solid var(--clr-secondary);
}

@media screen and (max-width: 768px) {
	
  .uk-timeline {
    margin: 10px;
    padding: 0px;
    width: 90%;
  }
  .uk-timeline:before {
    left: 0;
  }
  .uk-timeline .uk-timeline-item .uk-timeline-content {
    width: 80%;
    float: right;
  }
  .uk-timeline .uk-timeline-item .uk-timeline-content:before, .uk-timeline .uk-timeline-item .uk-timeline-content.right:before {
    left: 10px;
    margin-left: -25px;
    border-left: 0;
    border-right: 15px solid #1e87f0;
  }
  .uk-timeline .uk-timeline-item .uk-timeline-icon {
    left: 0;
  }
}
#switcher {
  position: fixed;
  z-index: 1;
  right: 0;
  top: 0;
  padding: 10px;
}

.uk-switch {
  position: relative;
  display: inline-block;
  height: 30px;
  width: 100px;
}

.uk-switch input {
  display: none;
}

.uk-switch-slider {
  background-color: rgba(0, 0, 0, 0.22);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 30px;
  bottom: 0;
  cursor: pointer;
  transition-property: background-color;
  transition-duration: 0.2s;
}

.uk-switch-slider:before {
  content: "";
  background-color: white;
  position: absolute;
  width: 25px;
  height: 26px;
  left: 2px;
  bottom: 2px;
  border-radius: 50%;
  transition-property: transform, box-shadow;
  transition-duration: 0.2s;
}

.uk-switch-slider::after {
  content: "Light";
  position: absolute;
  color: white;
  left: 40px;
  line-height: 30px;
  font-size: 0.75rem;
}

input:checked + .uk-switch-slider {
  background-color: #b7bec2 !important;
}

input:checked + .uk-switch-slider:before {
  transform: translateX(70px);
}

input:checked + .uk-switch-slider::after {
  content: "Dark";
  position: absolute;
  left: 32px;
  color: #4a6c85;
}

.uk-switch-slider.uk-switch-square,
.uk-switch-slider.uk-switch-square:before {
  border-radius: 0;
}

.uk-switch-slider.uk-switch-on-off {
  background-color: #b7bec2;
}

.uk-switch-slider.uk-switch-on-off.round::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "";
  color: #b7bec2;
  text-align: center;
  font-size: 15px;
  line-height: 28px;
}

input:checked + .uk-switch-slider.uk-switch-on-off {
  background-color: #0d2838 !important;
}

input:checked + .uk-switch-slider.uk-switch-on-off.round::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  color: #0d2838;
  content: "";
  font-size: 15px;
  line-height: 28px;
  text-align: center;
  padding-left: 1px;
  background-color: #4a6c85;
}

.uk-switch-slider.uk-switch-big:before {
  transform: scale(1.2);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.22);
}

input:checked + .uk-switch-slider.uk-switch-big:before {
  transform: translateX(26px) scale(1.2);
}

.dark-side {
  background-color: #0d2838;
}
.dark-side .uk-card {
  background-color: #213d52;
  transition: all 0.5s ease;
  color: white;
}
.dark-side .uk-card .uk-button-default {
  color: white;
}
.dark-side .uk-card .uk-card-title {
  color: white;
}
.dark-side .uk-card h2 {
  background-color: #191919;
  transition: all 0.5s ease;
}
.dark-side .uk-card.uk-timeline-content:before {
  border-left: 15px solid #191919;
}
.dark-side .uk-card.uk-timeline-content.right:before {
  border-right: 20px solid #191919;
}
.dark-side .uk-timeline:before {
  background: #213d52;
}
.dark-side .uk-timeline-icon {
  background-color: #213d52;
}
.dark-side #switcher {
  background-color: #213d52;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .dark-side .uk-timeline .uk-timeline-item .uk-timeline-content:before, .dark-side .uk-timeline .uk-timeline-item .uk-timeline-content.right:before {
    border-left: 0;
    border-right: 15px solid #191919;
  }
}