html, body { height: 100%; color: #003b70; } .app-container { margin: auto; display: grid; grid-column-gap: 10px; grid-row-gap: 10px; 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; } a:link, a:visited, a:hover, a:active { color: #003b70; } a:hover { color: #136CBC; text-decoration: underline; } article, section { font-family: 'Raleway', sans-serif; } /* mobile */ @media only screen and (max-width: 767px) { .app-container { grid-template-columns: auto; grid-template-rows: 100px auto auto auto 70px; grid-template-areas: "header" "nav" "content" "sidebar" "footer"; } } /* tablet */ @media only screen and (min-width: 768px) and (max-width: 991px) { .app-container { grid-template-columns: 200px auto 400px; grid-template-rows: 100px auto 70px; grid-template-areas: "header header header" "nav content sidebar" "footer footer footer"; } } /* monitor */ @media only screen and (min-width: 992px) { .app-container { grid-template-columns: auto 200px 600px 400px auto; grid-template-rows: 100px auto 70px; grid-template-areas: ". header header header ." ". nav content sidebar ." "footer footer footer footer footer"; } .footer-content { margin: auto; width: 1220px; } } header.main-header { grid-area: header; } header .title { font-size: 14pt; } header .description { font-size: 10pt; letter-spacing: 1.5pt; } 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; } nav > ul > li.current { border-left: 5px solid #003b70; } nav li.current > ul, nav li.current_ancestor > ul { display: block; } nav > ul > li { font-weight: 700; font-size: 18pt; } nav ul.menu_level_1 { padding-left: 5px; } nav ul.menu_level_1 > li { font-size: 12pt; line-height: 20pt; display: block; padding-left: 15px; } nav ul.menu_level_1 > li.current { border-left: 5px solid #003b70; }