
/* anchor.css */
div.anchor {
    position: absolute;
    margin-top: -8rem;
}
/* animations.css */
@keyframes pulse {
	0% {
        box-shadow: 0px 0px 15px 5px rgba(var(--cycle-accent-blue), .15);
	}

	50% {
        box-shadow: 0px 0px 15px 5px rgba(var(--cycle-accent-blue), .35);
	}

	100% {
        box-shadow: 0px 0px 15px 5px rgba(var(--cycle-accent-blue), .75);
	}
}

@keyframes fadein-wait {
    0% { opacity: 0; }
    100% { opacity: 0; }
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.fade-in {
    transform: translateZ(0);
    animation: 
        fadein-wait 0.75s,
        fadein 0.75s 0.75s;
}

body.scrolled .scroll-fade-in {
    transform: translateZ(0);
    animation: 
        fadein 0.75s;
}
/* checklists.css */
div.checklist {
    border-radius: var(--cycle-border-radius);
    background-color: rgb(var(--cycle-accent-black));
    font-size: 1.2rem;
}

div.checklist table {
    width: 100%;
    text-align: center;
}

div.checklist table tr > *{ 
    padding: 0.5rem 0;
}

div.checklist table tr label {
    font-weight: normal;
    font-size: 1rem;
    display: block;
}

div.checklist table tr > *:first-child {
    text-align: left;
}
/* common.css */
:root {
    --cycle-white: 250, 250, 255;
    --cycle-accent-white: 218, 218, 231;
    --cycle-accent-blue: 32, 121, 184;
    --cycle-blue: 42, 167, 255;
    --cycle-accent-black: 31, 31, 40;
    --cycle-black: 18, 18, 24;
    --cycle-gray: 52, 52, 62;
    --cycle-border-radius: 0.5rem;
}

* {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    letter-spacing: 1px;
}

a {
    text-decoration: none;
    cursor: pointer;
    color: rgb(var(--cycle-blue))
}

a:hover {
    color: rgb(var(--cycle-white))
}


body {
    background-color: rgb(var(--cycle-black));
    font-family: 'Source Sans Pro', sans-serif;
    margin-top: 4rem; /* helps offset the nav bar */
    color: rgb(var(--cycle-accent-white));
}

.no-bg {
    background: transparent !important;
}


/* cta.css */
.cta-button {
    display: inline-block;
    color: rgb(var(--cycle-white));
    align-self: center;
    background-color: transparent;
    border: 1px solid rgba(var(--cycle-blue, .7));
    border-radius: var(--cycle-border-radius);
    padding: .5rem 0.75rem;
    margin: 0.5rem;
    font-weight: 600;
    transition: 
        background-color 0.25s ease-in-out,
        color 0.25s ease-in-out;
}

.cta-button.pulse {
    transform: translateZ(0);
    animation: pulse 5s 5s 10 alternate ease;
}

.cta-button.primary {
    background-color: rgb(var(--cycle-blue));
}

.cta-button:hover {
    background-color: rgb(var(--cycle-blue));
    color: rgb(var(--cycle-black));
}

.cta-button:hover i {
    color: rgb(var(--cycle-black));
}

p+.cta-button {
    margin-top: 0.5rem;
}
/* form.css */
form label {
    display: block;
    color: rgb(var(--cycle-white));
    font-weight: 600;
    font-size: 1rem;
}

form input[type=text], form input[type=number], form input[type=email], form input[type=tel], form textarea {
    display: block;
    background-color: rgb(var(--cycle-black));
    color: rgb(var(--cycle-white));
    font-size: 1rem;
    padding: 0.5rem 1rem;
    margin: 0.5rem 0;
    border: 1px solid transparent;
    width: 100%;
    border-radius: var(--cycle-border-radius);
    outline: none;
}

form input:focus {
    border: 1px solid rgb(var(--cycle-blue));
}

form input.invalid {
    border: 1px solid red;
}

form span.input-error-text {
    color: red;
}

/* icons.css */
i.disabled {
    color: rgb(var(--cycle-gray));
}

i.question {
    color: rgb(var(--cycle-white))
}
/* items-list.css */
.items-list {
    column-gap: 5rem;
    padding: 1rem;
}

.items-list-col-2 {
	column-count: 2;
}

.items-list-col-3 {
	column-count: 3;
}

@media (max-width: 992px) { 
	.items-list-col-2, .items-list-col-3 {
        column-count: 1;
    }
 }


.items-list > * {
	text-align: left;
	padding: 0.25rem 0;
}
/* logos.css */
.logos {
    display: grid;
    /* grid-template-columns: repeat(3, 1fr); */
    grid-gap: 2rem 4rem;
    justify-content: space-evenly;
    justify-items: center;
    align-content: space-evenly;
    align-items: center;
}

.logos img {
    height: 2.5rem;
}


.logos a img {
    filter: invert(12%) sepia(0%) saturate(0%) hue-rotate(206deg) brightness(90%) contrast(94%);
}

.logos a:hover img {
    filter: none;
}

@media (max-width: 576px) { 
    .logos {
        grid-auto-flow: row !important;
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (min-width: 577px) and (max-width: 992px) { 
    .logos {
        grid-auto-flow: row !important;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 993px) and (max-width: 1200px) { 
    .logos {
        grid-auto-flow: row !important;
        grid-template-columns: repeat(3, 1fr);
    }
}






/* modal.css */
.modal {
    align-items: center;
    justify-content: center;
    background-color: rgba(var(--cycle-black), .9);
    display: none;
}

.modal-open {
    display: flex;
}

.modal-container {
    display: flex;
    justify-content: center;
    position: relative;
}

.modal-contents {
    background-color: rgb(var(--cycle-accent-black));
    padding: 1rem;
    display: inline-flex;
    border-radius: var(--cycle-border-radius);
}

.modal-contents iframe.video {
    width: 50vw;
    height: calc(50vw/1.77);
}

.modal-close-btn {
    position: absolute;
    right: -1.5rem;
    top: -1.5rem;
    color: rgb(var(--cycle-white));
    background-color: rgb(var(--cycle-black));
    padding: .5rem 0.75rem;
    border: 1px solid rgb(var(--cycle-blue));
    border-radius: var(--cycle-border-radius);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    transition: 
        background-color 0.25s ease-in-out,
        color 0.25s ease-in-out;
}

.modal-close-btn:hover {
    background-color: rgb(var(--cycle-blue));
    color: rgb(var(--cycle-black));
}
/* quote-card.css */
.quote-cards {
    column-count: 3;
    column-gap: 2rem;
}


@media (max-width: 992px) { 
    .quote-cards {
        column-count: 2;
    }
 }
 

.quote-card {
    margin-bottom: 2rem;
    display: block;
    break-inside: avoid-column;
}

section.accent-black .quote-card {
    background-color: rgb(var(--cycle-gray));
    padding: 1rem;
    border-radius: var(--cycle-border-radius);
}

section.accent-black .quote-card .quote {
    font-size: 1.1rem;
    padding: 0 0 1rem 0;
}

section.accent-black .quote-card .author {
    color: rgb(var(--cycle-white));
    font-weight: 700;
}

.quote-card img {
    width: 100%;
    border-radius: var(--cycle-border-radius);
    border: 1px solid rgb(var(--cycle-blue));
    margin-bottom: 1rem;
}
/* sections.css */
section {
    padding: 5rem 1rem
}

section h1 {
    font-weight: 800;
    color: rgb(var(--cycle-white));
}

section h2 {
    font-weight: 700;
    color: rgb(var(--cycle-white));
    line-height: 1.4;
}
section h3 {
    color: rgb(var(--cycle-white));
    font-weight: 700;
}

section h4 {
    color: rgb(var(--cycle-white));
    font-weight: 700;
}

section h6 {
    font-weight: 700;
}

@media (min-width: 544px) {  
    section h1 {
        font-size: 2rem;
        line-height: 3rem;
    }
  }
   
@media (min-width: 768px) {  
    section h1 {
        font-size: 3rem;
        line-height: 4rem;
    }   
  }
   

@media (min-width: 992px) { 
    section h1 {
        font-size: 3rem;
        line-height: 4rem;
    }   
}

@media (min-width: 1200px) {  
    section h1 {
        font-size: 4rem;
        line-height: 5rem;
    }   
}


section .kicker {
    display: block;
    color: rgb(var(--cycle-blue));
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0.25rem 0;
}

section .container .inner-md {
    max-width: 50rem;
    margin: 0 auto;
}

section .container .inner-lg {
    max-width: 70rem;
    margin: 0 auto;
}

section .container p {
    font-size: 1.2rem;
}

section.black {
    background-color: rgb(var(--cycle-black));
    color: rgb(var(--cycle-accent-white));
}

section.accent-black h2 {
    color: rgb(var(--cycle-blue));
}

section.accent-black {
    background-color: rgb(var(--cycle-accent-black));
    color: rgb(var(--cycle-accent-white));
}

section.accent-black h2 {
    color: rgb(var(--cycle-white));
}

section.accent-black h6 {
    /* color: rgb(var(--cycle-blue)); */
    font-weight: bold;
}

section i {
    color: rgb(var(--cycle-blue));
}

section.accent-blue {
    background-color: rgb(var(--cycle-accent-blue));
    color: rgb(var(--cycle-accent-white));
}


section.accent-blue .cta-button {
    background-color: rgb(var(--cycle-blue));
    color: rgb(var(--cycle-white));
}

section.accent-blue .cta-button:hover {
    color: rgb(var(--cycle-black));
}

section.gray {
    background-color: rgb(var(--cycle-gray));
    color: rgb(var(--cycle-accent-white));
}
/* sidebar.css */
.sidebar-nav {
    list-style-type: none;
    margin: 0;
    padding:0;
}

.sidebar-nav li {
    margin: 0 0 2rem 0;
    background-color: rgb(var(--cycle-accent-black));
    border-radius: var(--cycle-border-radius);
    padding: 2rem;
    font-size: 1.2rem;
}

.sidebar-nav li a {
    color: rgb(var(--cycle-white));
}


.sidebar-nav li a:hover {
    color: rgb(var(--cycle-blue));
}

/* tiles.css */
div.tiles {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2rem;
    display: grid;
}

div.tiles.tiles-1-col {
    grid-template-columns: repeat(1, 1fr);
}

div.tiles.tiles-2-col {
    grid-template-columns: repeat(2, 1fr);
}


div.tiles.tiles-4-col {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 576px) { 
    div.tiles {
     grid-template-columns: repeat(1, 1fr);
    }

    div.tiles.tiles-2-col {
        grid-template-columns: repeat(1, 1fr);
    }

    div.tiles.tiles-4-col {
        grid-template-columns: repeat(1, 1fr);
    }
 }

@media (min-width: 577px) and (max-width: 992px) { 
    div.tiles {
        grid-template-columns: repeat(2, 1fr);
    }

    div.tiles.tiles-2-col {
        grid-template-columns: repeat(1, 1fr);
    }

    div.tiles.tiles-4-col {
        grid-template-columns: repeat(2, 1fr);
    }
}

div.tiles .placeholder {
    background: transparent;
}

div.tiles.tiles-with-prefix div.tile, div.tiles.tiles-with-prefix > div {
    padding-left: 7rem;
}

div.tiles > div, div.tile {
    border-radius: var(--cycle-border-radius);
    padding: 2rem;
    position: relative;
}

section.accent-black div.tiles > div, section.accent-black div.tile {
    background-color: rgb(var(--cycle-gray));
}

section.black div.tiles > div, section.black div.tile {
    background-color: rgb(var(--cycle-accent-black));
}

div.tiles > div h5 {
    color: rgb(var(--cycle-white));
}

div.tiles > div h6 {
    color: rgb(var(--cycle-white));
}

section div.tiles > div h5, section div.tile h5 {
    font-weight: 600;
}

section div.tiles > div i.kicker, section div.tile i.kicker {
    margin: 0 0 1rem 0;
    font-size: 1.5rem;
}

section div.tile div.tile-prefix {
    border-radius: var(--cycle-border-radius) 0 0 var(--cycle-border-radius);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0,0,0,.2);
    width: 5rem;
    text-align: center;
    font-weight: 700;
    font-size: 3rem;
    padding-top: 1rem;
}

.tiles img {
    width: 100%;
}
/* tooltip.css */
.tooltip-container {
    position: relative;
    cursor: pointer;
}

.tooltip-container .tooltip-content {
    position: absolute;
    background-color: rgb(var(--cycle-black));
    border-radius: var(--cycle-border-radius);
    visibility: hidden;
    width: max-content;
    padding: .75rem 1rem;
    box-shadow: 1px 1px 0.5rem rgba(var(--cycle-black), .4);
    left: 100%;
    top: -80%;
    font-family: 'Source Sans Pro';
    z-index: 100;
    font-weight: normal;
    color: rgb(var(--cycle-white));
}

.tooltip-container:hover .tooltip-content {
    visibility: visible;
}

.tooltip-container:hover .tooltip-content::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%; /* To the left of the tooltip */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent black transparent transparent;
  }
/* video.css */
.video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}