:root { --width: 1200px; --color-blue: #324c9c; --color-red: #ff4e6c; } @font-face { font-family: montserrat; src: url(fnt/montserrat-light.ttf) format("truetype"); } * { box-sizing: border-box } html { scroll-behavior: smooth } .wrap { max-width: var(--width); margin: 0 auto; } body { margin: 0; line-height: 1.5; background-color: #edfbff; color: var(--color-blue); font-family: montserrat, sans; } header, main { min-height: 100vh } header { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1em; font-size: 1.5em; } header p { max-width: var(--width); text-align: justify; } header .arrow { height: 2em; margin-top: 3em; transition: transform .2s ease-out; } header .arrow:hover { transform: scale(1.3) } main section { margin-bottom: 10em; padding: 1em; } main .phases, main .quotations { display: flex; flex-direction: column; } main .phases .wrap>div { display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 2em; grid-row-gap: 2em; counter-reset: figure; } main .phases figure { margin: 0; text-align: justify; } main .phases figure:last-child { margin-bottom: 0 } main .phases figure h3 { text-align: left } main .phases figure h3::before { counter-increment: figure; content: counter(figure)"."; margin-right: .75em; color: var(--color-red); } main .quotations figure blockquote { font-style: italic; margin-top: -5em; /* Fix overflowing space above quotation marks */ } main .quotations figure blockquote:before { content: "\201E"; display: block; margin-bottom: -0.1em; font-size: 8em; } main .quotations figure figcaption { max-width: 80%; margin-left: auto; text-align: right; } main .team { background-color: var(--color-blue); padding: 4em 1em; } main .team h2 { color: #fff; margin: 0 0 2em; } main .team .list { display: grid; grid-template-columns: repeat(4, 1fr); grid-column-gap: 2em; grid-row-gap: 1em; } main .team figure { background-color: #fff; padding: 1em; margin: 0; transition: all .1s linear; } main .team figure:hover { background-color: var(--color-red); color: #fff; } main .team figure, main .team figure * { cursor: pointer } main .team figure img { width: 100% } main .team figure label { display: block; margin-top: 1rem; font-weight: bold; } main .team .modal .content { display: grid; grid-template-columns: 1fr 2fr; grid-column-gap: 2em; } main .articles .list { display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 2em; grid-row-gap: 2em; margin-top: 4em; } main .articles .list article a { color: inherit; text-decoration: none; cursor: pointer; } main .articles .list article:hover h3 { text-decoration: underline } footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; margin: 15em auto; padding: 1em; } footer img { width: 18em; margin: 2em; transition: transform .2s ease-out; } footer img.pedf { width: 10em } footer img:hover { transform: scale(1.1) } .modal { visibility: hidden; position: fixed; left: 0; top: 0; width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: rgba(0,0,0,0.5); transition: opacity .2s ease-out; opacity: 0; } .modal .content { max-width: var(--width); padding: 3em; background-color: #fff; color: var(--color-blue); transform: translate(0, -2em); transition: transform .2s ease-out; } .modal.visible { visibility: visible; opacity: 1; } .modal.visible .content { transform: translate(0); } .fancyheader .wrap { display: grid; grid-template-columns: 1fr 4fr; grid-column-gap: 3em; } .fancyheader .wrap>h2, .fancyheader .wrap>div { margin: 0; padding-top: 2rem; border-top: 3px solid var(--color-blue); } .fancyheader .wrap>div { border-color: #d6e2ff } @media only screen and (max-width: 1000px) { header { font-size: 1em } header .arrow { height: 3em } main section { margin-bottom: 5em } main .quotations figure, main .quotations figure blockquote { margin-left: 0; margin-right: 0; } main .quotations figure { padding: 1em } main .quotations figure figcaption { max-width: 100%; text-align: left; } main .team .list { grid-template-columns: repeat(2, 1fr); grid-column-gap: 1em; } footer { margin: 5em auto } .modal .content { height: 100vh; overflow-y: scroll; overflow-x: hidden; transform: translate(0); } .fancyheader .wrap>div { border-top: 0 } main .articles .list, main .phases .wrap>div, main .team .modal .content, .fancyheader .wrap { grid-template-columns: 1fr; } }