@font-face { font-family: localsystem; font-style: normal; font-weight: 300; src: local(".SFNSText-Light"), local(".HelveticaNeueDeskInterface-Light"), local(".LucidaGrandeUI"), local("Ubuntu Light"), local("Segoe UI Light"), local("Roboto-Light"), local("DroidSans"), local("Tahoma"). local("Open Sans"); } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-family: localsystem; margin: 0; padding: 0; line-height: 1.5em; } html { scroll-behavior: smooth; } a { color: #c40000; text-decoration: none; } a:hover { text-decoration: underline; color: #000; } .limit { max-width: 60em; margin: 0 auto; padding: 0 1em; } body { background-image: url("footer-bg.png"); background-repeat: no-repeat; background-position: bottom; background-size: contain; margin: 0 auto; } p { margin-top: 1em; margin-bottom: 1em; } h1 { background-image: url("header_background.png"); color: #fff; padding: 2em 0 4em 0; background-position: center bottom; text-align: center; position: relative; text-transform:uppercase; z-index: 10; background-size: cover; } h1::after, h1::before { background-image: url("yellow_line.png"); background-repeat: no-repeat; background-position: center center; height: 2px; width: 100%; content: " "; position: absolute; left: 0; } h1::before { top: 1.7em; } h1::after { bottom: 3.5em; } h2 { margin: 3em auto 1em auto; text-align: center; } #header { display: flex; align-items: center; justify-content: space-between; padding: 1em 0; } #normal_logo { width: 20%; } #header ul { display: flex; list-style-type: none; margin: 0; align-items: center; text-align: center; } #header li { display: inline-block; margin: 0.6em 0.8em; font-weight:600; max-width: 8em; font-variant:all-small-caps; } #small_logo { display: none; } #footer { margin: 6em auto; } #hero { height: 800px; padding: 10em 3em; margin-top: -5em; position: relative; z-index: 0; } #herotxt { margin: 0 auto; background-color: rgba(255,255,255,0.7); z-index: 5; position: relative; } .heroimg { position: absolute; top: 0; left: 0; right: 0; z-index: 0; transition: all 1s ease-in-out; background-size: cover; background-position: center center; bottom: 0; } .vcard .photo { width: 8em; height: auto; float: left; } .vcard>div { margin-left: 9em; } .vcard p { text-align: left; } .vcard .social-school { padding: 0 } .vcard .note { color: #777; } .vcard .name { font-size: 1.3em; } summary { font-weight: bold; margin: 1em 0; text-align: center; color: #c40000; cursor: pointer; } .e-summary { padding: 2em 0; font-size: 1.35em; color: #333; } .grid { display: flex; flex-grow: 1; flex-wrap: wrap; font-size: 0.9em; align-items: stretch; justify-content:center; } .grid>div { border: 1px solid #ccc; display: block; overflow: hidden; max-width: 22em; min-width: 22em; margin: 0.3em; } .grid .icons { text-align: center; } .grid h3 { text-align: center; margin: 1em 0; } .inactive { opacity: 0.3; } .grid>div>div { padding: 0 0.6em; } .grid img, .grid video { width: 100%; height: auto; } .grid video { margin: 0.6em 0; } dt { font-weight: bold; margin: 1em 0 0 0; } dd { margin: 0 0 0 1em; } dl { margin: 1em 0; } .price { margin: 0.6em 0; font-weight: 500; } .cols { display: flex; justify-content: space-between; align-items: stretch; } .cols > div { max-width: 45%; } table { border-collapse: collapse; width: 100%; } td, th { padding: 0.3em; border: 1px solid #777; text-align:left; } th { font-weight: bold; } th, tr:nth-child(even) { background-color: rgba(0, 0, 0, .1); } td img { width: 16em; height: auto; } ul { margin: 0 0 1em 1em; } svg { fill: currentColor; vertical-align: middle; } details > a { display: block; margin-top: 2em; } .prices, .center { text-align: center; } .prices .grid > div { padding: 0.3em; } .prices .icons { font-size: 2em; display: flex; align-items: center; justify-content: space-around; } .prices img { display: inline-block; width: 2em; } .prices h3 { margin: 3em auto 1em auto; } .prices h4 { display: block; height: 5em; } @media screen and (max-width: 54em) { #header, #header ul, #header li { margin: 0; padding: 0; display: block; width: 100%; max-width: 100%; text-align: center; } #header li { margin: 1em 0; } #normal_logo { display: none; } #small_logo { display: block; height: 4em; margin: 1em auto 2em auto; } .cols { display: block; } .cols>div, .grid>div { max-width: 96%; border: none; padding-bottom: 2em; position: relative; } .vcard .photo { width: 4em; } .vcard > div { margin-left: 5em; } #hero { padding: 8em 0.6em; height: 30em; margin-bottom: 8em; } #herotxt { margin:0; } h1 { padding: 1.4em 0; } h1::before { top: 1.2em; } h1::after { bottom: 1.2em; } .inline { display: inline-block !important; width: auto !important; } .prices h4 { display: block; height: auto; } }