/* CANONICAL_TIMELINE_STYLES_FOR_ENGLISH */

*{
box-sizing: border-box; /* Includes padding and borders in the element's size */
}

html{
scroll-behavior: smooth; /* Smooth scrolling */
scroll-snap-type: y mandatory; /* Snaps scrolling to each slide */
}

body{
margin: 0;
background-color: #15101e;
color: #f7f5f8;
font-family: Arial, Helvetica, sans-serif;
user-select: none;
-webkit-user-select: none;
-webkit-touch-callout: none;
}

/* Each section occupies one screen */

section{
height: 100vh; /* Occupies the full screen height */
min-height: 550px;
padding: 70px 9%;
border-bottom: 1px solid #30263a;
scroll-snap-align: start; /* Aligns the slide to the top */
position: relative;
display: flex;
align-items: center;
}

/* Thin orange line at the top of each slide */

section:before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background-color: #ef5727;
}

.content{
width: 100%;
max-width: 1100px;
margin: 0 auto;
}

/* Cover slide */

#s1 h1{
margin: 0 0 12px 0;
font-size: 56px;
font-weight: bold;
color: #f7f5f8;
}

.cover-title{
margin: 0 0 25px 0;
font-size: 32px;
font-weight: normal;
color: #ef5727;
}

.cover-subtitle{
margin: 0 0 15px 0;
font-size: 21px;
color: #bfb6c8;
}

.cover-date{
margin: 0;
font-size: 17px;
color: #bfb6c8;
}

/* Slide headings */

.eyebrow{
margin: 0 0 25px 0;
color: #ef5727;
font-size: 14px;
font-weight: bold;
letter-spacing: 2px;
text-transform: uppercase;
}

h2{
margin: 0 0 28px 0;
font-size: 38px;
}

.year{
margin-bottom: 12px;
color: #ef5727;
font-size: 30px;
font-weight: bold;
}

/* Slide text */

.lines{
margin: 0;
padding: 0;
list-style: none; /* Removes list bullets */
}

.lines li{
margin-bottom: 16px;
font-size: 22px;
line-height: 1.4;
}

.lines strong{
color: #ff794d;
}

/* Timeline image */

.timeline-image{
display: block;
width: 100%;
max-width: 1100px;
height: auto;
max-height: 75vh;
margin: 0 auto;
object-fit: contain; /* Keeps the original image proportions */
}

/* Slide counter */

.counter{
position: absolute;
right: 9%;
bottom: 25px;
color: #ef5727;
font-size: 16px;
font-weight: bold;
}

/* Slide animation */

@keyframes aparecer{
    0%{
    opacity: 0;
    transform: translateY(25px);
    }

    100%{
    opacity: 1;
    transform: translateY(0);
    }
}

/* Activates the animation when selecting a slide */

#s1 .content,
section:target .content{
animation: aparecer 0.7s ease-out;
}

/* Medium-sized screens */

@media screen and (max-width: 1000px){
    #s1 h1{
    font-size: 48px;
    }

    .cover-title{
    font-size: 30px;
    }

    h2{
    font-size: 34px;
    }

    .lines li{
    font-size: 20px;
    }

    .timeline-image{
    max-height: 70vh;
    }
}

/* Mobile devices */

@media screen and (max-width: 650px){
    section{
    min-height: 620px;
    padding: 55px 35px;
    }

    #s1 h1{
    font-size: 42px;
    }

    .cover-title{
    font-size: 26px;
    }

    .cover-subtitle{
    font-size: 18px;
    }

    .cover-date{
    font-size: 15px;
    }

    h2{
    font-size: 28px;
    }

    .year{
    font-size: 26px;
    }

    .lines li{
    font-size: 18px;
    margin-bottom: 14px;
    }

    .eyebrow{
    font-size: 12px;
    }

    .timeline-image{
    width: 100%;
    max-height: 65vh;
    }

    .counter{
    right: 35px;
    }
}

/* Screens with limited height */

@media screen and (max-height: 650px){
    section{
    padding-top: 35px;
    padding-bottom: 35px;
    }

    h2{
    margin-bottom: 20px;
    }

    .lines li{
    margin-bottom: 12px;
    }
}

/* Printing: applies when printing or saving as PDF */

@media print{
    html{
    scroll-snap-type: none; /* Disables snapping between slides */
    }

    section{
    height: 100vh;
    page-break-after: always; /* Each slide starts on a new page */
    }
}
