/* body */

body {
    font-size: 1.15rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Roboto', 'Segoe UI',  'Helvetica Neue', Arial, sans-serif;
    overflow-x: hidden;
    width: 100vw;
    max-width: 100%;
    background-color: #fff;
    color: #2f2f2f;
}

[class^=col-] {
    padding-left: 15px;
    padding-right: 15px;
}

.row-include {
    margin-right: -15px;
    margin-left: -15px;
}

/* elements */

.mt-row { margin-top: 30px; }
.pt-row { margin-top: 30px; }
.mb-row { margin-bottom: 30px; }
.pb-row { padding-bottom: 30px; }

.ml-row { margin-left: 30px; }
.pl-row { padding-left: 30px; }
.mr-row { margin-right: 3px; }
.pr-row { padding-right: 30px; }

/* ion-icons */

ion-icon {
    font-size: 64px;
}

.arrow-down-link {
    position: absolute;
    width: 100%;
    z-index: 10;
    font-size: 4rem;
    text-align: center;
}

.animate-me {
    transition: all 0.2s ease-in;
}

.box-hover .box-hover-show {
    opacity: 0;
    transition: all 0.2s ease-in;
}

.box-hover:hover .box-hover-show {
    opacity: 1;
    display: block;
}

.box-hover .box-hover-hide {
    display: block;
    transition: all 0.2s ease-in;
}

.box-hover:hover .box-hover-hide {
    margin-top: -5rem;
}

.wrap-box-bg {
    position: absolute;
    height: 100%;
    width: 100%;
}

.icon-md {
    font-size: 8rem;
    line-height: 8rem;
}

.icon-lg {
    font-size: 16rem;
    line-height: 16rem;
}

.icon-xl {
    font-size: 24rem;
    line-height: 24rem;
}

.text-shadow {
    text-shadow: 10px 10px 25px rgba(0, 0, 0, 0.1);
}

.hr-black {
    border-bottom: 1px solid #000;
}

.hr-white {
    border-bottom: 1px solid #ffffff;
}

input::placeholder {
    color: #8d8d8d !important;
}

.text-pre {
    font-family: "Courier New", Monaco, monospace, sans-serif;
    font-size: .75rem;
}

.d-screen {
    width: 100vw;
    height: 100vh;
}

.team-logo {
    background-image: url(img/1703-logo.png);
    background-size: contain;
    position: fixed;
    right: 4rem;
    top: 3.6rem;
    z-index: 1090;
    background-position: top right;
    background-repeat: no-repeat;
    width: 6rem;
    height: 3rem;
}

.slide-box {
    height: 768px;
    margin-bottom: -12rem;
}

.slide-box-cover {
    background-position: right center;
    background-size: 100%;
}

.slide-bg {
    width: 100%;
    background-size: contain;
    background-position: right bottom;
}

.project-cap {
}

.bgd-animated {
    transition: all 0.01s ease-in;
    background-size: 100%;
    background-position: center;
}

.bgd-animated.bgd-animated-wide {
    background-size: 110%;
}

.bgd-animated:hover {
    transition: all 0.1s ease-in;
    background-size: 110%;
}

.page-pattern {
    position: absolute;
    z-index: 0;
    max-width: 900px;
}

.shadow-lg {
    box-shadow: 1rem 2rem 4rem rgba(0, 0, 0, 0.1) !important;
}

.shadow-xl {
    box-shadow: 2rem 5rem 8rem rgba(0, 0, 0, 0.34) !important;
}

.page-pattern-0 { margin-top: -20rem; right: -10rem }
.page-pattern-1 { margin-top: 20rem; left: -10rem }
.page-pattern-2 { margin-top: 80rem; right: -10rem }
.page-pattern-3 { margin-top: 160rem; left: -20rem }
.page-pattern-4 { margin-top: 20rem; margin-left: -10rem }
.page-pattern-5 { margin-top: 20rem; margin-left: -10rem }
.page-pattern-6 { margin-top: 20rem; margin-left: -10rem }
.page-pattern-7 { margin-top: 20rem; margin-left: -10rem }
.page-pattern-8 { margin-top: 20rem; margin-left: -10rem }

.card-icon {
    position: absolute;
    color: #fff!important;
    right: 4rem;
    top: -4.5rem;
    text-shadow: rgba(0, 0, 0, 0.28) 2rem 2rem 2rem;
}

.vimeo {
}

.vimeo iframe {
    position: relative;
    width: 100%;
    height: 500px;
}

.year-nav {
    position: fixed;
    flex: 0 0 16.666667%;
    width: 15.5%;
    text-align: center;
}

.item-bordered {
    border: 10px solid #00fffe;
}

.html-box h1,
.html-box h2,
.html-box h3,
.html-box h4 {
    margin-bottom: 1.5rem;
    margin-top: 2.5rem;
    font-weight: 800;
}

.brd-yellow {
    border: 5px solid #ffeb00;
}

.slide-box {
    height: 490px!important;
}

.slide-box-img {
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
}

.slide-box-cover {
    background-position: right center;
    background-size: contain;
}

.slide-bg {
    width: 100%;
    background-size: cover;
    background-position: right bottom;
}

.header-sm-2-row {
    height: 4rem;
}

.social-icon-sm {
    height: 3rem;
}

.donate-card-info {
    min-height: 12rem;
}

.form-group.form-group-lg .form-control:not(.btn) {
    border-radius: 0!important;
}

.h-150 {
    height: 150px!important;
}