* {
    transition: width 0.25s, height 0.5s;
    transition-timing-function: ease-in-out;
}

body {
    /*Reserve some space for the navbar*/
    padding: 85px 0 0 0;
}

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

a, div, img {
    transition: all .15s ease-in-out;
}

a:link { 
    text-decoration: none;
}

a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: inherit;
}

a:active {
    text-decoration: none;
}

@media only screen and (max-width: 576px) {
    .container {
        padding-left: 40px;
        padding-right: 40px;
    }
}

strong {
    opacity: 0.80;
    font-size: 1.4em;
}

.left-padding-20 {
    padding-left: 20px;
}

.horizontal-padding-50 {
    padding-left: 50px;
    padding-right: 50px;
}

.vertical-margin-50 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.responsive-top-margin {
    margin-top: 150px;
}

@media only screen and (max-width: 1200px) {
    .responsive-top-margin {
        margin-top: 120px;
    }
}

@media only screen and (max-width: 576px) {
    .responsive-top-margin {
        margin-top: 90px;
    }
}

.responsive-paragraph-top-margin {
    margin-top: 0;
}

@media only screen and (max-width: 992px) {
    .responsive-paragraph-top-margin {
        margin-top: 50px;
    }
}

.responsive-paragraph-top-margin-small {
    margin-top: 0;
}

@media only screen and (max-width: 992px) {
    .responsive-paragraph-top-margin-small {
        margin-top: 25px;
    }
}

.top-margin-50 {
    margin-top: 50px;
}

.top-margin-100 {
    margin-top: 100px;
}

.nav-link {
    color: whitesmoke!important;
    padding: 10px;
}

.active {
    font-weight: 700;
}

.paragraph {
    opacity: 0.9;
    font-weight: 400;
    font-size: 1.1em;
}

.title {
    padding-top: 25px;
    padding-bottom: 25px;
    background-color: #00b08b;
    color: #e7fffa;
    font-size: 2em;
    font-weight: 500;
    box-shadow: 0 0 20px #00000040;
}

footer .title {
    box-shadow: 0 0 0;
}

@media only screen and (max-width: 768px) {
    .title {
        font-size: 1.7em;
    }
}

.emphasis {
    opacity: 0.80;
    font-size: 1.7em;
    font-weight: 400;
}

@media only screen and (max-width: 768px) {
    .emphasis {
        font-size: 1.4em;
    }
}

.emphasis-2 {
    color: white;
    font-size: 1.7em;
    font-weight: 500;
    margin-top: 10px;
}

.background-video {
    position: absolute;
    height: 900px;
    width: 100vw;
    object-fit: cover;
    z-index: -1;
    filter: brightness(66%);
}

@media only screen and (max-width: 768px) {
    .background-video {
        height: 750px;
    }
}

.background-video-size {
    height: 900px;
}

@media only screen and (max-width: 768px) {
    .background-video-size {
        height: 750px;
    }
}

.high-impact {
    color: white;
    font-size: 4em;
    text-shadow: 0 0 20px black;
}

@media only screen and (max-width: 768px) {
    .high-impact {
        font-size: 2.25em;
    }
}

.action-box {
    background: #00b08b;
    color: white;
    padding: 20px;
    border-radius: 15px;
    margin: 15px;
    filter: drop-shadow(0 0 15px #00000040);
}

@media only screen and (max-width: 768px) {
    .action-box {
        padding: 10px 10px;
        margin: 10px;
    }
}

.action-box:hover {
    filter: drop-shadow(0 0 15px #32dbb7);
    color: white;
}

.action-box p {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 1.2em;
    font-weight: 500;
}

@media only screen and (max-width: 768px) {
    .action-box p {
        font-size: 1em;
    }
}

.action-box img {
    display: block;
    max-height: 5em;
    margin: 0px auto;
}

@media only screen and (max-width: 768px) {
    .action-box img {
        height: 3em;
    }
}

.horizontally-scrollable {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}

.communities-row {
    display: flex;
    flex-direction: row;
    margin: 30px 0 30px 0;
}

.community-box {
    margin-right: 30px;
}

.community-box p {
    margin: 0 0;
    color: rgb(255, 255, 255);
    position: relative;
    z-index: 1;
    bottom: 40px;
    left: 20px;
    font-size: 1.3em;
    text-shadow: 0 0 10px #000000;
    font-weight: 500;
    height: 0;
    width: 0;
}

.community-box img {
    height: 175px;
    width: 300px;
    object-fit: cover;
    border-radius: 15px;
    filter: brightness(80%);
    filter: drop-shadow(0 0 15px #00000020);
}

.community-box img:hover {
    filter: drop-shadow(0 0 15px #32dbb7);
}

@media only screen and (max-width: 768px) {
    .community-box img {
        height: 175px;
        width: 240px;
    }
}

.image-shadow {
    filter: drop-shadow(0 0 10px #00000040);
}

.rounded-element {
    border-radius: 1em;
}

.achievement-box {
    background-color: #00b08b;
    border-radius: 15px;
    margin-bottom: 50px;
    box-shadow: 0 0 20px #00000040;
}

.achievement-box img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    padding: 0!important;
    margin: 0!important;
    border-radius: 15px 15px 0 0;
}

@media only screen and (max-width: 768px) {
    .achievement-box img {
        max-height: 300px;
    }
}

.achievement-box p, .achievement-box a {
    color: white;
    padding: 15px;
}

.achievement-box a {
    text-decoration: underline;
}

.green-box {
    background-color: #00b08b;
}

.pink-box {
    background-color: #c30f96;
}

.sponsors-bar-image {
    max-width: 100%;
}