ICOM/assets/css/style.css
Trân 0a3f6b3904
All checks were successful
Deploy / Deploy to Production (push) Successful in 15s
add h5
2026-06-18 12:06:46 +02:00

787 lines
No EOL
17 KiB
CSS

@font-face {
font-family: "Special Gothic";
src: url("../fonts/SpecialGothic-VariableFont_wdth,wght.ttf") format("truetype");
font-weight: 100 900;
font-stretch: 75% 125%;
font-display: swap;
}
@font-face {
font-family: "Times NR MT Std";
src: url("../fonts/TimesNRMTStd-Medium.otf") format("opentype");
font-weight: 500;
font-style: normal;
font-display: swap;
}
button {
border: none;
background-color: transparent;
padding: 0;
}
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
figcaption,
ul,
blockquote,
figure {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
img {
width: 100%;
height: auto;
-o-object-fit: contain;
object-fit: contain;
}
a {
text-decoration: none;
}
a:active, a:visited {
color: inherit;
}
@property --nav-grad-start {
syntax: "<color>";
inherits: false;
initial-value: #1a4ad6;
}
@property --nav-grad-end {
syntax: "<color>";
inherits: false;
initial-value: #7029ff;
}
:root {
--space-body: 2rem;
--color-yellow: rgba(250, 255, 101, 1);
--color-green: #33ffb0;
--color-blue: #1a4ad6;
--color-purple: #7029ff;
--color-pink: rgba(255, 194, 249, 1);
--color-red: rgba(255, 98, 46, 1);
--color-gradient-blue: linear-gradient(
180deg,
#1a4ad6 50.19%,
#7029ff 89.58%
);
--color-gradient-orange: linear-gradient(180deg, #ffd8c1 80%, #ffbf66 100%);
--color-gradient-green: linear-gradient(180deg, #b5ffda 80%, #33ffb0 100%);
--color-gradient-yellow: linear-gradient(
180deg,
#e0ff0d 76.25%,
#faff65 100%
);
--font-size-display: 2.1875rem;
--font-stretch-condensed: 75%;
--font-stretch-expanded: 110%;
--font-weight-medium: 470;
}
html,
body {
width: 100vw;
overflow-x: hidden;
}
button {
cursor: pointer;
}
body {
font-family: "Special Gothic", sans-serif;
background-color: #fff;
}
figure {
display: block;
}
figure figcaption {
display: block;
}
img,
video {
width: 100%;
height: 100%;
}
h3 {
font-size: 2.25rem;
font-weight: 500;
font-stretch: var(--font-stretch-condensed);
line-height: 100%;
}
h5 {
font-size: 1rem;
margin-top: 1em;
margin-bottom: 1em;
}
p {
font-stretch: var(--font-stretch-expanded);
font-weight: var(--font-weight-medium);
}
button:disabled {
opacity: 0.3;
cursor: default;
}
.no-scroll {
height: 100%;
overflow: hidden;
}
.title-condensed {
font-size: var(--font-size-display);
font-stretch: var(--font-stretch-condensed);
font-weight: 700;
}
.text-editorial {
font-family: "Times NR MT Std", "Times New Roman", serif;
font-size: var(--font-size-display);
}
.text-intro {
font-size: var(--font-size-display);
font-stretch: var(--font-stretch-expanded);
}
.text-label {
text-transform: uppercase;
font-weight: 700;
font-size: 1.5rem;
font-stretch: var(--font-stretch-condensed);
}
body > header {
position: relative;
z-index: 4;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 var(--space-body);
position: fixed;
top: 0;
left: 0;
box-sizing: border-box;
width: 100%;
mix-blend-mode: difference;
color: #fff;
}
body > header.nav-open {
mix-blend-mode: normal;
color: var(--header-color);
}
body > header.nav-open button.burger .burger__line,
body > header.nav-open button.burger .burger__line::before,
body > header.nav-open button.burger .burger__line::after {
background-color: currentColor;
}
body > header .title-wrapper {
position: absolute;
pointer-events: none;
width: calc(100% - 2 * var(--space-body));
display: flex;
justify-content: center;
}
body > header .title-wrapper h2 {
font-weight: var(--font-weight-medium);
font-size: 1.25rem;
font-stretch: var(--font-stretch-expanded);
pointer-events: all;
}
body > header button.burger {
display: block;
position: relative;
width: 5rem;
height: 4rem;
display: flex;
flex-direction: column;
justify-content: center;
}
body > header button.burger .burger__line,
body > header button.burger .burger__line::before,
body > header button.burger .burger__line::after {
display: block;
width: 100%;
height: 1px;
background-color: var(--color-purple);
transition: all 0.2s ease-in-out;
}
body > header button.burger.open .burger__line {
width: 0;
}
body > header button.burger.open .burger__line::before {
transform: rotate(20deg) translateY(0.8rem);
}
body > header button.burger.open .burger__line::after {
transform: rotate(-20deg) translateY(-0.8rem);
}
body > header button.burger .burger__line::before, body > header button.burger .burger__line::after {
left: 0;
position: absolute;
content: "";
}
body > header button.burger .burger__line::before {
top: 1.2rem;
}
body > header button.burger .burger__line::after {
top: 2.8rem;
}
body > .nav-wrapper {
position: fixed;
inset: 0;
background-image: linear-gradient(180deg, var(--nav-grad-start) 75%, var(--nav-grad-end) 100%);
color: var(--nav-content-color);
z-index: 2;
font-family: "Special Gothic", sans-serif;
display: flex;
justify-content: center;
height: 0;
overflow: hidden;
transition: height 0.7s cubic-bezier(0.76, 0, 0.24, 1), --nav-grad-start 0.3s ease-in-out, --nav-grad-end 0.3s ease-in-out;
}
body > .nav-wrapper.open {
height: 100%;
overflow-y: auto;
}
body > .nav-wrapper nav {
margin-top: 15vh;
}
body > .nav-wrapper nav ul li {
width: 100%;
text-align: center;
display: flex;
justify-content: center;
}
body > .nav-wrapper nav ul li:not(.active, .hovered) {
opacity: 0.5;
}
body > .nav-wrapper nav ul li a {
line-height: 450%;
}
body > .nav-wrapper nav ul li a span {
display: block;
}
body > .nav-wrapper nav ul li a span.label {
font-size: 2.431vw;
font-weight: 470;
font-stretch: 110%;
}
body > .nav-wrapper nav ul li a span.title {
font-size: 6.94vw;
font-weight: 500;
font-stretch: 75%;
line-height: 100%;
}
body > .nav-wrapper nav ul li:not(:last-child) {
margin-bottom: 8vh;
}
body > .nav-wrapper .lang-switchers {
display: flex;
justify-content: center;
gap: 2rem;
margin-top: 3vw;
}
body > .nav-wrapper .lang-switchers a {
display: block;
border: 1px solid var(--color-pink);
border-radius: 100%;
padding: 0.6rem;
font-size: 0.9375rem;
font-weight: 570;
font-stretch: 110%;
transition: all 0.2s ease-in-out;
}
body > .nav-wrapper .lang-switchers a:hover {
background-color: var(--color-pink);
color: var(--color-blue);
}
body > footer {
background: var(--color-gradient-orange);
padding: 0 var(--space-body) 5rem;
box-sizing: border-box;
}
body > footer h3 {
font-family: "Times NR MT Std", serif;
font-size: 3.4375rem;
font-weight: 500;
width: 100%;
text-align: center;
padding: 5rem 0;
}
body > footer .bottom {
display: grid;
grid-template-columns: repeat(3, 1fr);
align-items: flex-end;
}
body > footer .bottom a {
width: -moz-fit-content;
width: fit-content;
}
body > footer .bottom a .logo {
width: 20rem;
}
body > footer .bottom .socials {
width: -moz-fit-content;
width: fit-content;
display: flex;
justify-content: space-between;
justify-self: center;
-moz-column-gap: 2rem;
column-gap: 2rem;
}
body > footer .bottom .links {
justify-self: flex-end;
font-family: "Special Gothic", sans-serif;
font-size: 1.25rem;
font-weight: 470;
font-stretch: 110%;
}
body > footer .bottom .links li:not(:last-child) {
margin-bottom: 0.5rem;
}
main > section.hero {
height: 100vh;
background-image: url("/assets/images/hero.svg");
background-repeat: no-repeat;
background-size: cover;
background-position: center;
display: flex;
align-items: flex-end;
}
main > section.hero .text {
color: #7029ff;
padding: 0 var(--space-body);
}
main > section.hero .text .title {
font-size: max(3.75rem, 8.25vw);
font-stretch: var(--font-stretch-condensed);
font-weight: var(--font-weight-medium);
}
main > section.featured-text {
height: 50vh;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
main > section.featured-text h3 {
font-size: 1rem;
font-stretch: var(--font-stretch-expanded);
font-weight: var(--font-weight-medium);
margin-bottom: 1.5rem;
}
main > section.featured-text .main {
text-align: center;
width: min(60rem, 90vw);
margin: 1.5rem 0;
}
main > section.featured-text.colored {
background: var(--background);
color: var(--color);
}
main > section.featured-text figcaption {
text-align: center;
font-weight: var(--font-weight-medium);
font-stretch: var(--font-stretch-expanded);
}
main > section.featured-text.with-image {
height: auto;
padding: 4rem 0;
}
main > section.featured-text.with-image figure {
display: flex;
flex-direction: column;
align-items: center;
}
main > section.featured-text.with-image figure img {
height: 40rem;
margin-bottom: 1rem;
}
main > section.two-columns {
position: relative;
display: grid;
grid-template-columns: repeat(2, 1fr);
-moz-column-gap: 2rem;
column-gap: 2rem;
margin: 5rem 0;
}
main > section.two-columns .column {
max-height: 90vh;
}
main > section.two-columns .column figure {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
main > section.two-columns .column figure img {
flex: 1;
height: 0;
-o-object-fit: cover;
object-fit: cover;
}
main > section.two-columns .column.left-column figure figcaption, main > section.two-columns .column.right-column figure figcaption {
box-sizing: border-box;
padding-top: 1rem;
}
main > section.two-columns .column.left-column figure figcaption {
padding-left: 2rem;
}
main > section.two-columns .column.text-column {
display: flex;
flex-direction: column;
justify-content: space-between;
height: 100%;
padding-right: var(--space-body);
}
main > section.two-columns .column.text-column .text {
width: 100%;
display: flex;
flex-direction: column;
align-items: end;
}
main > section.two-columns .column.text-column .text h4 {
width: 100%;
font-stretch: var(--font-stretch-expanded);
font-weight: var(--font-weight-medium);
margin-bottom: 2rem;
}
main > section.two-columns .column.text-column .text p + p {
margin-top: 1rem;
}
main > section.two-columns .column.text-column .text > *:not(h4, button.read-more) {
box-sizing: border-box;
width: 100%;
padding-left: 20%;
}
main > section.two-columns .column.text-column .text button.read-more {
box-sizing: border-box;
align-self: flex-start;
margin-left: 20%;
margin-top: 2rem;
padding: 0.75rem 7.5vw;
border: 1px solid #000;
border-radius: 3rem;
font-stretch: var(--font-stretch-expanded);
font-weight: var(--font-weight-medium);
transition: all 0.2s ease-in-out;
}
main > section.two-columns .column.text-column .text button.read-more:hover {
background-color: var(--color-purple);
color: var(--color-pink);
}
main > section.two-columns .column.text-column .text blockquote {
margin-top: 1rem;
}
main > section.two-columns .column.text-column .text blockquote p {
border-left: 1px solid #000;
padding-left: 1rem;
}
main > section.two-columns .column.text-column.left-column {
margin-left: var(--space-body);
}
main > section.two-columns .column.text-column.right-column {
margin-right: var(--space-body);
}
main > section.two-columns .column.extra:not(.two-columns.open .extra) {
display: none;
}
section.video {
padding: 20vh var(--space-body);
display: grid;
grid-template-columns: 1fr 4fr;
-moz-column-gap: 1rem;
column-gap: 1rem;
}
section.video .text-column {
display: flex;
flex-direction: column;
justify-content: space-between;
}
section.timeline {
position: relative;
background: linear-gradient(180deg, #b5ffda 80%, #33ffb0 100%);
padding-top: calc(var(--space-body) * 2);
}
section.timeline .scroll-area {
overflow-x: scroll;
scrollbar-width: none;
}
section.timeline .scroll-area::-webkit-scrollbar {
display: none;
}
section.timeline .time {
display: flex;
}
section.timeline .time .year {
display: flex;
flex-direction: column-reverse;
position: relative;
min-width: 21rem;
}
section.timeline .time .year:first-child {
margin-left: 2rem;
}
section.timeline .time .year::before {
content: "";
width: 1rem;
height: 1rem;
border-radius: 100%;
background-color: var(--color-yellow);
position: absolute;
bottom: 3.45rem;
left: -0.5rem;
}
section.timeline .time .year h4 {
padding-top: 1rem;
border-top: 1px solid #000;
}
section.timeline .time .year .events {
display: flex;
flex-direction: column-reverse;
gap: 2rem;
border-left: 1px solid #000;
padding-left: 0.8rem;
padding-bottom: 0.5rem;
}
section.timeline .time .year .events .event {
width: 17rem;
}
section.timeline .controls {
display: flex;
justify-content: space-between;
gap: 20vw;
margin: 0 auto;
width: -moz-fit-content;
width: fit-content;
padding: calc(var(--space-body) * 2) 0;
}
section.timeline .controls button {
transition: opacity 0.2s;
}
section.timeline .controls button:last-child {
transform: rotate(180deg);
}
section.poster-slider {
padding: calc(var(--space-body) * 2) 0;
}
section.poster-slider.colored {
background: var(--background);
color: var(--color);
}
section.poster-slider .poster-slider__title {
text-align: center;
padding: 0 var(--space-body);
margin-bottom: 3rem;
font-weight: 500;
}
section.poster-slider .poster-swiper {
padding: 0 9vw;
}
section.poster-slider .poster-swiper .swiper-wrapper {
align-items: flex-end;
}
section.poster-slider .poster-swiper .swiper-wrapper .swiper-slide {
transform: scale(0.8);
transition: transform 0.3s ease;
display: flex;
justify-content: center;
}
section.poster-slider .poster-swiper .swiper-wrapper .swiper-slide figure img {
height: -moz-fit-content;
height: fit-content;
}
section.poster-slider .poster-swiper .swiper-wrapper .swiper-slide.swiper-slide-active {
transform: scale(1);
}
section.poster-slider .controls {
display: flex;
justify-content: space-between;
align-items: center;
gap: 20vw;
margin: 3rem auto 0;
padding: 0 var(--space-body);
width: -moz-fit-content;
width: fit-content;
}
section.poster-slider .controls .slide-info {
text-align: center;
}
section.poster-slider .controls .slide-info .title {
font-weight: 500;
}
section.poster-slider .controls .slide-info .caption {
font-size: 1rem;
font-stretch: var(--font-stretch-expanded);
font-weight: var(--font-weight-medium);
}
section.poster-slider .controls button.poster-next {
transform: rotate(180deg);
}
@media screen and (max-width: 950px) {
:root {
--space-body: 1rem;
--font-size-display: 1rem;
}
h3 {
font-size: 1rem;
font-weight: 470;
font-stretch: 110%;
line-height: 100%;
}
body > header .title-wrapper {
display: none;
}
body > header button.burger {
width: 3rem;
}
body > .nav-wrapper nav ul li:not(:last-child) {
margin-bottom: 4vh;
}
body > .nav-wrapper nav ul li a span.label {
font-size: 1.25rem;
line-height: 100%;
margin-bottom: 0.3rem;
}
body > .nav-wrapper nav ul li a span.title {
font-size: 3.125rem;
}
body > .nav-wrapper .lang-switchers {
margin-top: 8vh;
}
.hero {
background-size: 30vw;
padding-bottom: 2rem;
}
.hero .text .title {
line-height: 100%;
}
main > section.poster-slider + section.two-columns {
margin-top: 4rem;
}
main > section.two-columns {
grid-template-columns: repeat(1, 1fr);
row-gap: 1rem;
margin: 0;
}
main > section.two-columns + .two-columns {
margin-top: 4rem;
}
main > section.two-columns .column {
max-height: none;
}
main > section.two-columns .column.text-column {
order: 2;
display: block;
padding: var(--space-body);
}
main > section.two-columns .column.text-column h3 {
margin-bottom: 2rem;
}
main > section.two-columns .column.text-column .text > *:not(h4, button.read-more) {
padding-left: 0;
}
main > section.two-columns .column.text-column .text button.read-more {
margin: auto;
margin-top: 1rem;
padding: 0.75rem 4rem;
}
main > section.two-columns .column.picture-column {
order: 1;
}
main > section.two-columns .column.picture-column figure img {
max-height: 60vh;
}
main > section.two-columns .column.picture-column figure figcaption {
padding: var(--space-body);
}
main > section.video {
grid-template-columns: repeat(1, 1fr);
row-gap: 1rem;
padding: 0 var(--space-body);
margin: 5rem 0;
}
main > section.video .text-column h3 {
margin-bottom: 3rem;
}
main > section.featured-text {
height: auto;
padding: 4rem 0;
}
main > section.featured-text.with-image figure img {
height: 10rem;
}
main > section.featured-text h3 {
margin: auto;
margin-bottom: 0;
width: 13rem;
text-align: center;
}
main > section.featured-text p {
font-size: 1.5625rem;
}
main > section.timeline .scroll-area .time .year h4 {
font-size: 2.1875rem;
font-weight: 700;
}
main > section.poster-slider h3 {
font-size: 1.875rem;
}
body > footer {
padding-bottom: 4rem;
}
body > footer h3 {
padding-bottom: 4rem 0;
font-size: 2.1875rem;
}
body > footer .bottom {
display: flex;
flex-direction: column-reverse;
align-items: flex-start;
gap: 4rem;
}
body > footer .bottom .links {
font-size: 1.25rem;
}
body > footer .bottom .socials {
width: 100%;
}
body > footer .bottom .socials a img {
height: 1.7rem;
}
body > footer .bottom > a {
width: 100%;
text-align: center;
}
body > footer .bottom > a .logo {
width: 15rem;
}
}/*# sourceMappingURL=style.css.map */