/* 
================================================================================
Hero section
================================================================================
*/
#hero-section {
    min-height: calc(80vh - 90px);
	background: var(--color-primary);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hero-divider {
    background: var(--color-primary-100);
    fill: var(--color-primary)
}

.hero-content {
	display: grid;
    grid-template-columns: 4fr 5fr;
	align-items: center;
	gap: 3.2rem;
	margin: 0 auto;
	padding-block: 4.8rem;
    max-width: 140rem;
}

.hero-content {
    flex: 1 1 auto;
}

.hero-content h1 {
	margin-bottom: 3rem;
	color: var(--color-primary-text);
    font-size: 6rem;
	font-family: "Red Hat Display";
	font-weight: 660;
    font-size: 6rem;
	line-height: 1.05;
	letter-spacing: 1.2px;
}

.hero-content p {
	margin-bottom: 4.8rem;
	color: var(--color-primary-text);;
    font-size: 2rem;
	line-height: 1.5;
}

.hero-btns {
    display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2rem;
}

.hero-button-enter {
    background: #2a2a2a;
    border-color: #2a2a2a;
    color: white;
}

.hero-button-enter:hover {
    background-color: #3a3a3a;
    border-color: #3a3a3a;
}

.hero-button-read {
    background: white;
    border-color: white;
    color: #2a2a2a;
}

.hero-button-read:hover {
    background-color: #f0f0f0;
    border-color: #f0f0f0;
}

.hero-image {
    width: 100%;
	/* padding: 2rem 6.4rem; */
    justify-self: center;
}

.hero-image object {
    width: 100%;
    max-height: 600px;
    aspect-ratio: 23 / 16;
	height: auto;
    object-fit: cover;
    object-position: center;
}

/* BELOW 1344px */
@media (max-width: 84em) {
    .hero-content h1 {
        margin-bottom: 2.4rem;
        font-size: 5.2rem;
    }

    .hero-content p {
        margin-bottom: 3.2rem;
        font-size: 1.8rem;
    }
}

/* BELOW 1200px (Landscape Tablets) */
@media (max-width: 75em) {
    .hero-content h1 {
        font-size: 4.4rem;
        margin-bottom: 2.4rem;
    }
}

/* BELOW 944px */
@media (max-width: 59em) {
    .hero-content {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: center;
    }

    .hero-btns {
        justify-content: center;
    }
}

/* BELOW 768px */
@media (max-width: 48em) {
    .hero-content {
        padding-block: 3.2rem;
    }

    .hero-content h1 {
        font-size: 4.8rem;
        line-height: 1.2;
    }

    .hero-content p {
		line-height: 22px;
    }

    .hero-btns {
        gap: 1.6rem;
    }

    .hero-image object {
        max-height: 400px;
        aspect-ratio: 16 / 9;
    }
}

/* BELOW 544px (Phones) */
@media (max-width: 34em) {
    .hero-content {
        padding-block: 2.4rem;
    }
    
    .hero-content h1 {
        font-size: 4rem;
        line-height: 1.2;
    }

    .hero-btns > .button {
        padding: 1.2rem 1.8rem;
        font-size: 1.4rem;
        font-weight: 500;
    }
}

/* 
================================================================================
Facts section
================================================================================
*/

#facts-section {
    background: var(--color-primary-100);
}

.facts-divider {
    background: white;
    fill: var(--color-primary-100)
}

.facts-content {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	gap: 3.2rem;
	margin: 0 auto;
	padding-block: 5.8rem 4rem;
	padding-inline: 1.2rem;
	max-width: 130rem;
}

.fact {
    position: relative;
    height: 100%;
    padding-inline: 1rem;
}

.fact:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0%;
    right: calc(-1.6rem - 1px);
    height: 100%;
    width: 2px;
    background: var(--color-primary);
}

.fact-value {
    text-align: center;
    font-size: 5.4rem;
    font-family: "Red Hat Display";
    font-weight: 660;
    margin-bottom: 1.2rem;
    line-height: 1;
}

.fact-label {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 440;
}


/* BELOW 1520px (Smaller desktops) */
@media (max-width: 95em) {
    .fact-value {
        font-size: 4.8rem;
    }

	.fact-label {
        font-size: 1.6rem;
    }
}

/* BELOW 1200px (Landscape Tablets) */
@media (max-width: 75em) {
    .facts-content {
        gap: 2rem;
    }

    .fact:not(:last-child)::after {
        right: calc(-1rem - 1px);
    }

    .fact {
        padding-inline: 0.8rem;
    }

    .fact-value {
        font-size: 4rem;
        margin-bottom: 0.8rem;
    }

    .fact-label {
        font-size: 1.4rem;
    }
}


/* BELOW 944px (Tablets) ----- mobile treshold */
@media (max-width: 59em) {
    .facts-content {
        padding-block: 4rem;
        gap: 1.2rem;
    }

    .fact:not(:last-child)::after {
        right: calc(-0.6rem - 1px);
    }

    .fact-label {
        letter-spacing: -0.3px;
    }
}

/* BELOW 768px */
@media (max-width: 48em) {
    .facts-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 3.2rem 2rem;
        padding-block: 3.2rem;
    }

    .fact:nth-of-type(2)::after {
        content: none;
    }

    .fact:not(:last-child)::after {
        right: calc(-1rem - 1px);
    }

    .fact-value {
        font-size: 3.6rem;
    }

    .fact-label {
        font-size: 1.4rem;
    }
}

@media (max-width: 34em) {
    .fact {
        padding-inline: 0rem;
    }

	.fact-value {
        font-size: 3.2rem;
        font-weight: 770;
    }
} 

/* BELOW 400px */
@media (max-width: 20em) {
    
}


/* 
================================================================================
About section
================================================================================
*/

.about-content {
    text-align: center;
}

.about-list {
    display: grid;
	grid-template: repeat(2, 1fr) / repeat(3, 360px);
	gap: 40px 20px;
	justify-content: space-evenly;
	align-items: start;
	justify-items: stretch;
	padding-block-start: 3.2rem;
}

.about-list-item {
	display: flex;
	gap: 2rem;
}

.about-list-item-icon {
    height: 40px;
	width: 40px;
	flex: 40px 0 0;
	border: 3px solid var(--color-primary);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-primary);
	font-size: 2rem;
	margin-top: 4px;
}

.about-list-item-title {
    text-align: left;
	font-family: 'Red Hat Display';
	font-size: 1.8rem;
	font-weight: 770;
	letter-spacing: -0.03px;
	margin-bottom: 5px;
	line-height: 26px;
}

.about-list-item-description {
    text-align: left;
	font-size: 1.4rem;
	font-weight: 440;
	line-height: 20px;
	letter-spacing: -0.05px;
}

/* BELOW 1244px (About checks) */
@media (max-width: 75em) {	
	.about-list {
        grid-template: repeat(3, 1fr) / repeat(2, auto);
        gap: 30px 20px;
    }
    
}

@media (max-width: 59em) {
    .about-list-item {
        gap: 1.6rem;
    }

    .about-list-item-icon {
        height: 35px;
        width: 35px;
        flex: 35px 0 0;
        font-size: 1.7rem;
        border-width: 2px;
    }

    .about-list-item-title {
        font-size: 1.6rem;
        line-height: 1.2;
    }

    .about-list-item-description {
        font-size: 1.2rem;
        line-height: 1.5;
    }
}

/* BELOW 787px */
@media (max-width: 48em) {
    .about-list {
        grid-template: repeat(6, 1fr) / repeat(1, auto);
        justify-content: center;
        gap: 14px 0px;
        padding-inline: 0.8rem;
	    padding-block-start: 1.2rem;
    }

    .about-list-item {
        width: 100%;
        text-align: left;
        gap: 1.2rem;
    }

    .about-list-item-icon {
		height: 30px;
		width: 30px;
		flex: 30px 0 0;
		font-size: 1.4rem;
	}

    .about-list-item-title {
        font-size: 1.4rem;
        margin-bottom: 4px;
        
    }
}

/* 
================================================================================
Steps section
================================================================================
*/

#steps-section {
    background: #eeeeee;
}

.steps-divider {
    fill: #eeeeee;
    background: white;
}

/* 
================================================================================
Video section
================================================================================
*/

.video-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6.4rem;
}

.video-text {
    max-width: 620px;
}

.video-text h3 {
    margin-bottom: 2rem;
}


.video-button {
    color: var(--color-primary-text);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    font-weight: 550;
} 

.video-button:hover {
    background-color: var(--color-primary-600);
    border-color: var(--color-primary-600);
}

.video-thumbnail {
    min-width: 340px;
    max-width: 530px;
    position: relative;
}

.video-thumbnail-mobile {
    display: none;
    margin-block: 20px 20px;
    min-width: unset;
}

.video-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 12px;

}


.video-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background: #dededeb0;
    color: #454545;
	font-size: 2.5rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.video-play-button i {
    margin-left: 5px;
}

/* BELOW 768px */
@media (max-width: 48em) {
    .video-content {
        justify-content: center;
    }

    .video-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .video-thumbnail-container {
        display: none;
    }

    .video-thumbnail-mobile {
        display: block;
    }

    .video-thumbnail img {
        max-width: 330px;
    }
}

/* BELOW 400px */
@media (max-width: 20em) {
    .video-play-button {
        width: 60px;
        height: 60px;
    }
}




/* 
================================================================================
Skills section
================================================================================
*/
#skills-section {
    background: #eeeeee;
}

.skills-divider {
    background: white;
    fill: #eeeeee;
    transform: rotate(180deg);
}



/* 
================================================================================
Go section
================================================================================
*/
#go-section {
    background: var(--color-primary);
}

.go-divider {
    background: #eeeeee;
    fill: var(--color-primary);
    transform: rotateX(180deg);
}

.go-content {
    text-align: center;
    padding-block-start: 10rem;
}

.go-content h3 {
    margin-bottom: 2rem;
    color: var(--color-primary-text);
}

.go-content p {
    margin-bottom: 4.8rem;
    color: var(--color-primary-text);
}

.go-button-enter {
    background: #2a2a2a;
    border-color: #2a2a2a;
    color: white;
    padding: 2.2rem 5.8rem;
    font-weight: 660;
    font-size: 2rem;
}

.go-button-enter:hover {
    background-color: #3a3a3a;
    border-color: #3a3a3a;
}


/* BELOW 1520px (Smaller desktops) */
@media (max-width: 95em) {
	.go-button-enter {
        padding: 2rem 5.4rem;
        font-size: 1.8rem;
    }
}


/* BELOW 1200px */
@media (max-width: 75em) {
    .go-button-enter {
        padding: 1.8rem 4.8rem;
        font-size: 1.6rem;
    }
}