h1, p, img, .footer-links, .hidden { opacity: 0 }
.visible { animation: fade-slide-up 0.6s cubic-bezier(.165,.84,.44,1) forwards }
@keyframes fade-slide-up {
    from { transform: translateY(20px) ; opacity: 0 }
    to { transform: translateY(0) ; opacity: 1 }
}

body { font-family: Arial,sans-serif ; text-align: center ; margin: 0 ; background: #f9f9f9 }
.main { max-width: 812px ; margin: 0 auto ; padding: 56px 16.5vw 131px }
.title-icon { width: 67px ; height: 67px ; position: relative ; top: 21.5px ; margin-right: 18px }
h1 { font-size: 68px ; margin-bottom: 48px }
p { font-size: 24px ; margin-bottom: 8px }
img { max-width: 100% ; height: auto ; margin-bottom: 15px }
footer { height: 75px ; font-weight: bold ; font-size: 22px }
footer span:not(:last-child)::after { /* insert separators */
    content: '' ; display: inline-block ; border-right: 0.15em solid black ; transform: rotate(22deg) ;
    width: 0.15em ; height: 1.5em ; margin: 0 0.95em 0 1.1em ; position: relative ; top: 0.45em
}

@media (max-width: 768px) {
    .title-icon { width: 33px ; height: 33px ; top: 19.5px ; margin-right: 11px }
    h1 { font-size: 32px ; margin-bottom: 20px }
    p { font-size: 18px ; margin-bottom: 15px }
    .main { padding: 16px 10vw 60px }
}
