@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;700&display=swap');

::-webkit-scrollbar {
    width:13px;
}

::-webkit-scrollbar-track {
    border-radius: 13px;
    border: solid 4px rgba(0,0,0,0);
    box-shadow: inset 0 0 4px 4px #d7f1f1;
}

::-webkit-scrollbar-thumb {
    border-radius: 13px;
    border: solid 4px rgba(0,0,0,0);
    box-shadow: inset 0 0 4px 4px #659798;
}

::-webkit-scrollbar-thumb:hover {
    box-shadow: inset 0 0 4px 4px #007981;
}


/* Bootstrap overrides */

.root .bg-body-tertiary {
  --bs-bg-opacity: auto;
  background-color: auto;
}

.root .btn {
    border-radius: 0.25rem;
}

.root .btn-primary {
    font-weight: 700;
    color: #fff !important;
    background-color: #005F33 !important;
    border-color: #005F33 !important;
}

.root .btn-primary:hover,
.root .btn-primary:active {
    color: #fff;
    background-color: #013b20;
    border-color: #013b20;
}

.root .btn-secondary {
    font-weight: 700;
    color: #fff;
    background-color: #29292B;
    border-color: #29292B;
}

.root .btn-secondary:hover,
.root .btn-secondary:active {
    color: #fff;
    background-color: #18181a;
    border-color: #18181a;
}

.root .navbar-nav {
    display: flex;
    align-items: center;
}

.root .navbar-nav .nav-link {
    text-align: center;
    width:100%;
}

.root .navbar-nav .nav-link .ms-2,
.root .navbar-nav .nav-link .ms-5 {
    margin:0 !important;
}

.root .navbar-toggler {
    border:none;
}

.root .navbar-toggler {
    position: absolute;
    left: 1rem;
    top: 3rem;
    transform: translate(0, -50%);
  }

.root .navbar-toggler:focus,
.root .navbar-toggler:active,
.root .navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
    border:none;
}

.root .utility-nav {
    position: fixed;
    top: 0.5rem;
    right: 1rem;
    z-index: 1031;
}

.utility-nav .material-symbols-outlined, .navbar-nav .material-symbols-outlined {
    vertical-align: bottom;
}

.root .utility-nav ul,
.root .utility-nav ul li {
    margin:0;
    list-style-type:none;
}

.root .utility-nav ul li {
    font-size: 0.9rem;
    display:inline-block;
}

.root .utility-nav ul li a {
    color:#29292B;
    text-decoration:none;
    padding: 0 0.35rem 0 0.35rem;
}

.root .utility-nav.bg-none ul li a {
    color: #FFFFFF;
}

.root .utility-nav ul li .btn {
    color: #FFFFFF;
    font-weight: 700;
    padding: .375rem .75rem;
    margin-right: .75rem;
}

#header.bg-none .utility-nav ul li a {
    color: #FFFFFF;
}

#main-navbar-nav {
    margin-top: 2rem;
}

.navbar-nav .profile-image img, .utility-nav .profile-image img {
    display: inline-block;
    border-radius: 50%;
    max-width: 32px;
    border: 0.2rem solid rgb(41, 155, 0);
    margin: 0 0.5rem;
}

.utility-nav .dropdown-item {
    padding: .375rem .75rem !important;
}

.root .dropdown-menu li,
.root .dropdown-menu a {
    width:100%;
    font-size: 1rem;
    color: #29292B !important;
}

.root .card {
    border: none;
}

.root .card-title {
    font-size: 1.5rem;
    color: #000;
    font-weight: 700;
}

.root .card-title a {
    color: #000;
    text-decoration: none;
}

.root .card-title a:hover {
    color: #000;
    text-decoration: none;
}

.root .card-footer {
    border: none;
    background: none;
}

.root .accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,.125);
}

.root .accordion-button:not(.collapsed) {
    color: #FFF;
    background-color: #659798;
}

.root .form-control:focus,
.root .form-select:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,.125);
}

.root .form-label {
    font-weight: 700;
}

.root .pagination {
    --bs-pagination-color:#212529;
    --bs-pagination-hover-color:#000;
    --bs-pagination-active-bg:#fff;
    --bs-pagination-active-color: #000;
}

.root .pagination .page-item .page-link {
    background-color: transparent;
    border: none;
    border-radius: 0;
}

.root .pagination .page-item .page-link:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,.125);
}

.root .pagination .page-item .page-link.active,
.root .pagination .page-item.active .page-link {
    border-bottom:3px solid #005F33;
}

/* End Bootstrap overrides */

strong {
    font-weight: 700;
}

.root {
	font-family: 'Nunito Sans', sans-serif;
    background-color: #BED8D7;
}

.root img {
	max-width: 100%;
    display: inline;
}

.root h1, .root h2, .root h3, .root h4, .root h5 {
	font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
}

.root h1 {
    color:#29292B;
}

.root h2 {
    color:#007981;
}

/* #header {
    transition-property: background-color;
    transition-duration: .25s;
} */

.root #header {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 2px 4px rgb(0 0 0 / 30%);
}

.root #header #logo-desktop {
    width: 386px;
    height: 100px;
    background-image: url(/images/header-logo-full-dark.png);
    background-repeat: no-repeat;
}

.root #header.bg-none #logo-desktop {
    background-image: url(/images/header-logo-full-white.png);
}

.root #header .nav-link {
    font-size: 1.1rem;
    font-weight: 700;
    color:#29292B;
}

.root #header .nav-link:hover {
    color:#005F33;
}

.root .main {
    margin-top: 152px;
}

.root .narrow {
    max-width: 800px;
}

.root .blurb {
    font-size: 1.1rem;
    color:#00494F;
    max-width: 800px;
    margin: 1rem auto;
}

.root .article-date,
.root .article-author {
    color:#00494F;
}

.root .main.home .ribbon {
    color:#BED8D7;
    background-color: #29292B;
    padding:5rem 0;
    border-bottom:1px solid #333;
}

.root .main.home .ribbon .container {
    max-width: 1000px;
}

.root .main.home .ribbon h2 {
    color: #9FC264;
}

.root .main.home .ribbon a {
    text-decoration: none;
    color:#BED8D7;
    font-weight: 700;
}

.root .main.home .ribbon a:hover {
    text-decoration: none;
    color: #9FC264;
}

.root .alert-primary { 
	color: #FFF;
	background-color: #005f33;
	border: #005f33;
}

.card-link {
    color: #212529 !important;
    text-decoration: none;
}

.card-link:hover {
    color: #000 !important;
    text-decoration: none;
}

.card-text a {
    color: #212529;
}

.square-photo {
    object-fit: cover;
    width: 230px;
    height: 230px;
}

.article {
    background-color: #FFF;
    transition-property: box-shadow;
    transition-duration: .25s;
}

.article:hover {
    box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.1);
}

.article .link {
    color: #212529 !important;
    text-decoration: none;
}

.article .link:hover {
    color: #000 !important;
    text-decoration: none;
}

.article .title {
    font-size: 1.5rem;
    color: #212529;
    font-weight: 700;
    margin-bottom: 1rem;
}

.article .date {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.9rem;
    color: #212529;
    margin-bottom: 1rem;
}

.article-card {
    background-color: #FFF;
}

.article-card-body {
    background-color: #FFF;
    border-top: 7px solid #9FC264;
}

.cta {
    text-align: center;
    padding: 2rem;
}

.cta .header {
    font-size: calc(1.3rem + .6vw);
    margin-bottom: 1rem;
}

.hero-carousel-wrapper {
    display: flex;
    align-items: center;
    background-position: center center;
    background-size: cover;
    border-bottom: 7px solid #9FC264;
}

.hero-carousel-wrapper .content {
    padding: 3rem;
    margin: 3rem;
}

.hero-carousel-wrapper h3.small-header {
    font-size: 2rem;
    font-weight: 700;
    color: #9FC264;
    margin-bottom: 0;
}

.hero-carousel-wrapper h2.header {
    font-size: 2rem;
    font-weight: 700;
    color: #FFF;
    margin-bottom: 1rem;
}

.hero-carousel-wrapper .text {
    color: #FFF;
    font-weight: 700;
}

.footer {
	background-color:#29292B;
}

.footer a {
	font-size: 0.9rem;
	text-decoration: none;
	color:#BED8D7;
}

.footer a:hover {
	text-decoration: none;
	color:#fff;
}

.footer .copyright {
	font-size: 0.8rem;
	color: #659798;
}

.social {
	margin:0;
	padding:0;
}

.social li {
	display: inline-block;
	list-style-type: none;
    margin-left:1rem;
    margin-right:1rem;
}

.social li a {
    font-size:24px;
}

.main .social li a {
    color: #007981;
}

.utility {
	margin: 0;
	padding:0;
}

.utility li {
	display: inline-block;
	list-style-type: none;
    margin-left:0.5rem;
    margin-right:0.5rem;
}

.utility a {
	color:#BED8D7;
}

.white-bg-cta {
    background-color: #FFF;
}

.white-bg-cta .header {
    color: #007981;
}

.dark-bg-cta {
    background-color: #29292b;
    color: #bed8d7;
}

.dark-bg-cta .header {
    color: #9fc264;
}

.root .link {
    color: #212529 !important;
    text-decoration: none;
}

.sponsors-strip {
    background-color:#FFFFFF;
    padding:1rem;
    text-align:center;
}

.sponsors-strip h3 {
    color:#29292B;
    font-size:1.25rem;
    margin-bottom:2rem;
}

.sponsors-strip ul,
.sponsors-strip ul li {
    margin:0;
    padding:0;
    list-style-type:none;
}

.sponsors-strip ul li {
    display:block;
    margin:0 1rem 1rem 1rem;
    padding-top:1rem;
    border-top:1px solid #BED8D7;
}

.sponsors-strip ul li img {
    max-height:125px;
}

.sponsors-strip .text-only {
    font-weight: 900;
    font-size: 1.5rem;
    color: #000;
}

.sponsors-strip .view-all {
    font-size: 0.85rem;
    text-transform:uppercase;
}

.sponsors-strip a {
    color:#29292B;
    text-decoration:none;
}

.sponsors-grid {
    background-color: #FFFFFF;
    padding: 1rem;
    text-align: center;
}

.sponsors-grid h3 {
    color:#007981;
    font-size:1.25rem;
    margin-bottom:2rem;
}

.sponsors-grid ul,
.sponsors-grid ul li {
    margin:0;
    padding:0;
    list-style-type:none;
}

.sponsors-grid ul li {
    display:block;
    margin:0 1rem 1rem 1rem;
    padding-top:1rem;
    border-top:1px solid #BED8D7;
}

.sponsors-grid ul li img {
    max-height:240px;
}

.sponsors-grid a {
    color:#29292B;
    text-decoration:none;
}

.sponsors-grid .text-only {
    font-weight:900;
    font-size:3rem;
    color:#000;
}

.past-events .card-title {
    font-size:1rem;
}

@media only screen and (min-width:992px) {
    .root .navbar-nav .nav-link {
        text-align: inherit;
        width:inherit;
    }

    .root .main {
        margin-top: 127px;
    }

    .root .main.home {
        margin-top: 0px;
    }

    .root #header.bg-none {
        background: rgba(255, 255, 255, 0);
        box-shadow: none;
    }

    .root #header.bg-none .nav-link {
        color:#FFF;
    }

    .root #header.bg-none .nav-link:hover {
        color:#9FC264;
    }

    .cta .header {
        font-size: 1.75rem;
    }

    .hero-carousel-wrapper {
        min-height: 900px;
    }

    .hero-carousel-wrapper .content {
        max-width: 900px;
        margin-left: auto;
    }

    .hero-carousel-wrapper h3.smallHeader {
        font-size: 3rem;
    }

    .hero-carousel-wrapper h2.header {
        font-size: 6rem;
    }

    .hero-carousel-wrapper .text {
        font-size: 1.5rem;
    }

    .sponsors-strip {
        padding:2rem;
    }

    .sponsors-strip h3 {
        margin-bottom:2rem;
    }

    .sponsors-strip ul li {
        display:inline-block;
        margin:0 2rem;
        padding-top:0;
        border-top:none;
    }

    .sponsors-strip .view-all {
        margin-top:2rem;
    }

    .sponsors-grid h3 {
        font-size: 1.75rem;
    }

    .sponsors-grid ul li {
        display: inline-block;
        margin: 0 2rem;
        padding-top: 0;
        border-top: none;
    }
}