html, body { height: 100%; color: #003b70; --header-size: 22pt; } .app-container { margin: auto; display: grid; grid-column-gap: 20px; grid-row-gap: 0; min-height: 100%; } .content-container { grid-area: content; display: grid; grid-template-columns: auto; grid-template-rows: 200px auto; grid-template-areas: "title" "main"; } .content-container > article, .content-block > section { border-left: 1px solid #003b70; padding: 0 10px 0 10px; } .content-block { grid-area: content; } h1 { font-family: 'PT Serif', serif; font-size: var(--header-size); } a:link, a:visited, a:hover, a:active { color: #003b70; text-decoration: none; } a:hover { color: #136CBC; text-decoration: underline; } article, section { font-family: 'Raleway', sans-serif; font-size: 16pt; } /* mobile */ @media only screen and (max-width: 779px) { .app-container { grid-template-columns: auto; grid-template-rows: 170px auto auto auto 70px; grid-template-areas: "header" "nav" "content" "sidebar" "footer"; } } /* tablet */ @media only screen and (min-width: 780px) and (max-width: 1179px) { .app-container { grid-template-columns: auto 180px 580px auto; grid-template-rows: 170px auto auto 70px; grid-template-areas: ". header header ." ". nav content ." ". nav sidebar ." "footer footer footer footer"; } .footer-content { margin: auto; width: 780px; } } /* monitor */ @media only screen and (min-width: 1180px) { .app-container { grid-template-columns: auto 180px 580px 380px auto; grid-template-rows: 170px auto 70px; grid-template-areas: ". header header header ." ". nav content sidebar ." "footer footer footer footer footer"; } .footer-content { margin: auto; width: 1180px; } } header.main-header { grid-area: header; } header .title { margin-top: 30px; font-size: 40pt; } header .description { font-size: 12pt; letter-spacing: 1.75pt; } header .logo { } nav.main-nav { grid-area: nav; } section.profile-title { grid-area: title; } article.profile { grid-area: main; } aside.profile-image { grid-area: sidebar; } footer.main-footer { grid-area: footer; } footer { font-family: 'PT Serif', serif; color: #fffffd; background-color: #003b70; } nav ul { list-style: none; padding-left: 0; } nav li { font-family: 'PT Serif', serif; } nav li > ul { display: none; } nav > ul > li { padding-left: 5px; font-weight: 700; font-size: 22pt; line-height: 28pt; } nav > ul > li.current { border-left: 5px solid #003b70; } nav li.current > ul, nav li.current_ancestor > ul { display: block; } nav ul.menu_level_1 { padding-left: 5px; } nav ul.menu_level_1 > li { font-size: 14pt; line-height: 18pt; display: block; padding-left: 15px; margin-bottom: 10px; } nav ul.menu_level_1 > li.current { border-left: 5px solid #003b70; }