:root { --dark: #004064; --light: #2E8BC0; } @font-face { font-family: DancingScript; src: url('../fonts/DancingScript/DancingScript-Regular.ttf'); font-display: swap; } body { margin: 0; height: 100%; font-family: Arial, sans-serif; color: midnightblue; font-size: 18px; line-height: 1.6; } h1 { font-size: 1rem; margin-top: auto; margin-bottom: auto; margin-right: auto; } a { color: var(--light); } section { padding: 2rem; max-width: 1040px; text-align: justify; margin: 0 auto 0 auto; } section h2 { margin-bottom: 4rem; position: relative; --display: inline; text-align: center; padding-right: 0; } section h2::after { content: ""; width: 125px; height: 30px; position: absolute; bottom: -25px; right: -30px; background-image: url(../images/illustrations/marker.svg); background-repeat: no-repeat; left: 50%; margin-left: -60px; } section h3 { text-align: left; } strong { color: var(--light); } img { border-radius: 25px; } footer { padding: 3rem; text-align: center; background: var(--dark); color: white; } footer h2 { font-family: DancingScript; font-size: 30px; line-height: 0; } footer a { color: white; } .unmarged { margin: 0; } footer div { margin-top: 2rem; margin-bottom: 2rem; } .footer-contact { justify-content: center; list-style-type: none; display: flex; font-size: 25px; } .footer-contact a { display: block; padding: 0.5rem 1rem; color: white; text-decoration: none; } .contact-logo { filter: brightness(0) saturate(100%) invert(100%) sepia(31%) saturate(2%) hue-rotate(307deg) brightness(102%) contrast(100%); border-radius: 0; } .navigate-button { display: flex; align-items: center; justify-content: center; max-height: 50px; font-weight: 700; text-decoration: none; color: #fff; background-color: var(--light); border-radius: 10px; cursor: pointer; text-align: center; margin-top: 15px; padding: 10px; margin-bottom: 15px; } .illustrated { width: 400px; } .illustrated-right { float: right; margin-left: 20px; } .illustrated-left { float: left; margin-right: 20px; } .square-24 { height: 24px; width: 24px; } .square-18 { height: 18px; width: 18px; } .square-40 { height: 40px; width: 40px; } /************************/ @media (max-width: 575px) { section h2 { padding-right: 0; } section h2::after { bottom: -30px; left: 50%; margin-left: -60px; } .illustrated { width: 100%; } } /************************/ @media (max-width: 50em) { body { font-size: 16px; } } @media (max-width: 735px) { .illustrated { float: none; margin: auto; display: block; } } /***************************/ /* header */ header { padding-bottom: 50px; } .header { color: white; background-color: #0d496b; position: fixed; width: 100%; z-index: 3; line-height: 1; display: block; } .header a { color: white; } .header ul { margin: 0; padding: 0; list-style: none; overflow: hidden; } .header li a { display: block; padding: 20px 20px; text-decoration: none; } .header .brand { height: 40px; margin: 10px; } /* menu */ .header .menu { clear: both; max-height: 0; transition: max-height .2s ease-out; } /* menu icon */ .header .menu-icon { cursor: pointer; display: inline-block; float: right; padding: 28px 20px; position: relative; user-select: none; } .header .menu-icon .navicon { background: white; display: block; height: 2px; position: relative; transition: background .2s ease-out; width: 18px; } .header .menu-icon .navicon:before, .header .menu-icon .navicon:after { background: white; content: ''; display: block; height: 100%; position: absolute; transition: all .2s ease-out; width: 100%; } .header .menu-icon .navicon:before { top: 5px; } .header .menu-icon .navicon:after { top: -5px; } /* menu btn */ .header .menu-btn { display: none; } .header .menu-btn:checked ~ .menu { max-height: 265px; } .header .menu-btn:checked { font-size: 1px; } .header .menu-btn:checked ~ .menu-icon .navicon { background: transparent; } .header .menu-btn:checked ~ .menu-icon .navicon:before { transform: rotate(-45deg); } .header .menu-btn:checked ~ .menu-icon .navicon:after { transform: rotate(45deg); } .header .menu-btn:checked ~ .menu-icon .navicon:before, .header .menu-btn:checked ~ .menu-icon .navicon:after { top: 0; } /* 48em = 768px */ @media (min-width: 48em) { .header li { float: left; } .header li a { padding: 20px 30px; } .header .menu { clear: none; float: right; max-height: none; } .header .menu-icon { display: none; } } @media (max-width: 390px) { section { text-align: center; } section h3 { text-align: center; } li { list-style-type: none; margin-right: 45px; margin-bottom: 10px; margin-top: 10px; } .footer-contact { margin-right: 35px; } .footer-contact li { margin: 0; } }