/*
 * Custom Styles
 *
 */
 /* START - CSS Vars */
 :root {
	--link-color: #0d6efd;
	--link-hover-color: #0a58ca;
 }
 /* END - CSS Vars */
 
 /* START - Custom Fonts */
 /* IBM Plex Sans */
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBMPlexSans/IBMPlexSans-Light.woff2') format('woff2'),
         url('../fonts/IBMPlexSans/IBMPlexSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBMPlexSans/IBMPlexSans-Regular.woff2') format('woff2'),
         url('../fonts/IBMPlexSans/IBMPlexSans-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBMPlexSans/IBMPlexSans-Medium.woff2') format('woff2'),
         url('../fonts/IBMPlexSans/IBMPlexSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBMPlexSans/IBMPlexSans-Medium.woff2') format('woff2'),
         url('../fonts/IBMPlexSans/IBMPlexSans-Medium.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBMPlexSans/IBMPlexSans-Medium.woff2') format('woff2'),
         url('../fonts/IBMPlexSans/IBMPlexSans-Medium.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
 /* END - Custom Fonts */
 
 /* START - Imports and HTML overrides */
@import '../vendor/fontawesome-free-6.5.1-web/css/all.min.css';
html {
	width:100%;
	overflow-x:hidden !important;
}
body {
	font-family:"IBM Plex Sans", sans-serif;
	font-size:16px;
	color:#111111;
	font-weight:400;
	background-color:white;
	width:100%;
	overflow-x:hidden !important;
}
body.admin-bar #wpadminbar {
	display:none;
}

strong {
	font-weight:600;
}
ul li {
	line-height:16px;
}
ul li.menu-item {
	line-height:1em;
	display:flex;
}
ul, ol {
	padding-left:1rem;
}

a,
a:link,
a:visited,
a:active {
	text-decoration:none;
	color:var(--link-color);
	transition:color .4s;
}
a:hover {
	color:var(--link-hover-color);
}

/* CSS for [hide_on_mobile] shortcode */
@media (max-width:767px) {
	.hide-on-mobile {
		display:none !important;
	}
}
 /* END - Imports and HTML overrides */
 
 /* START - Menu Defaults */
 header#main-header {
	 position:relative;
	 z-index:10;
	 padding:1.5rem 1rem;
 }
 #top-menu.nav {
	  gap:25px;
  }
  #top-menu.nav li a {
	  font-size:1rem;
	  text-transform:uppercase;
	  font-weight:400;
	  letter-spacing:1px;
	 display:block;
	 line-height:1;
	 font-family:"IBM Plex Sans", sans-serif;
  }
  #top-menu.nav li a:after {
	  display:block;
	  height:3px;
	  width:100%;
	  background-color:var(--link-color);
	  content:" ";
	  margin-top:20px;
	  position:absolute;
	  opacity:0;
	  transition:all .3s;
  }
  #top-menu.nav li a:hover:after,
  #top-menu.nav li a:active:after {
	  opacity:1;
	  margin-top:8px;
  }
  @media (min-width:992px) {
	#mobile-menu,
	header#main-header a#mobileMenuClose {
		display:none;
	}
	#top-menu.nav {
		justify-content:flex-end;
	}
  }
  @media (max-width:991px) {
	  .menu-column {
		  position:fixed;
		  width:100%;
		  height:100vh;
		  background:#232323;
		  top:0;
		  left:0;
		  opacity:0 !important;
		  transform: translateX(100%) !important;
		 transition:transform 0s linear .5s, opacity .4s ease 0s;
	  }
	  .menu-column.show {
		  opacity:1 !important;
		  transform: translateX(0) !important;
		  transition:transform 0s linear .0s, opacity .4s ease 0s;
	  }
	  .menu-column .primary-menu-container #top-menu {
		padding: 40px 40px;
		flex-direction: column;
		gap: 36px;
	  }
	  .menu-column .primary-menu-container ul li.menu-item {
		line-height:1.5em;
	  }
	  #top-menu.nav li a:after {
		opacity: 1;
		margin-top: 3px;
		position: relative;
	  }
	  #top-menu.nav li a:hover:after {
		margin-top: 3px;
		width:calc(100% + 2rem);
	  }
  }
  #mobileMenuClose {
	position: absolute;
	top: 36px;
    right: 2rem;
    font-size: 30px;
  }
  #mobileMenuToggle {
	font-size:30px;
	line-height: 1;
    align-items: center;
    display: flex;
  }
  a#mobileMenuClose:hover,
  a#mobileMenuClose:active {
	color:var(--blue);
  }
  .mobile-and-search-menu {
	justify-content: flex-end;
    display: flex;
  }
 /* END - Menu Defaults */
 