448 lines
8.7 KiB
CSS
448 lines
8.7 KiB
CSS
/**
|
|
* This is the main stylesheet for the PrayerTracker application.
|
|
*/
|
|
:root {
|
|
--dark-blue-hue: 240;
|
|
--dark-blue-sat: 100%;
|
|
--darkest: hsl(var(--dark-blue-hue), var(--dark-blue-sat), 6%);
|
|
--dark: hsl(var(--dark-blue-hue), var(--dark-blue-sat), 13%);
|
|
--lighter-dark: hsl(var(--dark-blue-hue), var(--dark-blue-sat), 25%);
|
|
--inverse-backgroud: hsl(0, 0%, 95%);
|
|
--background: hsla(0, 0%, 0%, .01);
|
|
--native-fonts: system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Liberation Sans",Cantarell,"Helvetica Neue",sans-serif;
|
|
}
|
|
body {
|
|
background-color: var(--background);
|
|
margin: 0;
|
|
font-family: var(--native-fonts);
|
|
font-size: 1rem;
|
|
}
|
|
acronym {
|
|
border-bottom: dotted 1px black;
|
|
}
|
|
p {
|
|
margin: 1em 0;
|
|
}
|
|
a,
|
|
a:link,
|
|
a:visited {
|
|
text-decoration: none;
|
|
color: var(--dark);
|
|
}
|
|
a:hover {
|
|
border-bottom: dotted 1px var(--darkest);
|
|
}
|
|
a > img {
|
|
border: 0;
|
|
}
|
|
.pt-title-bar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
overflow: hidden;
|
|
width: 100%;
|
|
background-image: linear-gradient(to bottom, var(--darkest), var(--dark));
|
|
margin-bottom: 0;
|
|
}
|
|
.pt-title-bar-left,
|
|
.pt-title-bar-right {
|
|
flex-grow: 0;
|
|
}
|
|
.pt-title-bar-center {
|
|
flex-grow: 4;
|
|
}
|
|
.pt-title-bar-home {
|
|
float: left;
|
|
font-size: 1.25rem;
|
|
font-weight: bold;
|
|
padding: .5rem 1rem 0 .75rem;
|
|
}
|
|
.pt-title-bar-home a:link,
|
|
.pt-title-bar-home a:visited {
|
|
color: white;
|
|
}
|
|
.pt-title-bar-home a:hover {
|
|
border-bottom: none;
|
|
}
|
|
.pt-title-bar ul {
|
|
list-style-type: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
display: inline-block;
|
|
}
|
|
.pt-title-bar li {
|
|
float: left;
|
|
}
|
|
.pt-title-bar li a,
|
|
.pt-title-bar .dropdown-btn,
|
|
.pt-title-bar .home-link {
|
|
display: inline-block;
|
|
color: #9d9d9d;
|
|
text-align: center;
|
|
padding: .75rem 1rem;
|
|
text-decoration: none;
|
|
}
|
|
.pt-title-bar .home-link {
|
|
font-size: 1.1rem;
|
|
}
|
|
.pt-title-bar li a:hover,
|
|
.pt-title-bar .dropdown:hover .dropdown-btn {
|
|
color: white;
|
|
border-bottom: none;
|
|
}
|
|
.pt-title-bar li.dropdown {
|
|
display: inline-block;
|
|
}
|
|
.pt-title-bar .dropdown-content {
|
|
display: none;
|
|
position: absolute;
|
|
background-image: linear-gradient(to bottom, var(--dark), var(--lighter-dark));
|
|
min-width: 160px;
|
|
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
|
|
z-index: 1;
|
|
}
|
|
.pt-title-bar .dropdown-content a {
|
|
color: white;
|
|
padding: 12px 16px;
|
|
text-decoration: none;
|
|
display: block;
|
|
text-align: left;
|
|
}
|
|
.pt-title-bar .dropdown-content a:hover {
|
|
background-color: var(--inverse-backgroud);
|
|
color: var(--lighter-dark);
|
|
}
|
|
.pt-title-bar .dropdown:hover .dropdown-content {
|
|
display: block;
|
|
}
|
|
#pt-body {
|
|
padding-bottom: 1rem;
|
|
}
|
|
#pt-language {
|
|
background-color: lightgray;
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
justify-content: space-between;
|
|
border-bottom: solid 1px darkgray;
|
|
border-top: solid 1px darkgray;
|
|
padding: 0 .75rem;
|
|
}
|
|
#pt-page-title {
|
|
text-align: center;
|
|
border-bottom: dotted 1px lightgray;
|
|
}
|
|
.pt-content {
|
|
margin: auto auto 1.5rem auto;
|
|
max-width: 60rem;
|
|
}
|
|
.pt-content.pt-full-width {
|
|
max-width: unset;
|
|
margin-left: .75rem;
|
|
margin-right: .75rem;
|
|
}
|
|
@media screen and (max-width: 60rem) {
|
|
.pt-content {
|
|
margin-left: .75rem;
|
|
margin-right: .75rem;
|
|
}
|
|
}
|
|
fieldset {
|
|
margin: auto auto 1rem auto;
|
|
border: solid 1px #ccc;
|
|
border-radius: 1rem;
|
|
}
|
|
input[type=email],
|
|
input[type=text],
|
|
input[type=password],
|
|
input[type=date],
|
|
input[type=number],
|
|
input[type=url],
|
|
select {
|
|
border-radius: .2rem;
|
|
border-color: var(--lighter-dark);
|
|
font-size: 1rem;
|
|
padding: .25rem;
|
|
font-family: var(--native-fonts);
|
|
border-width: 1px;
|
|
}
|
|
button[type=submit] {
|
|
border-radius: .6rem;
|
|
padding: .2rem 1rem;
|
|
margin-top: .5rem;
|
|
background-color: var(--lighter-dark);
|
|
border: solid 1px var(--lighter-dark);
|
|
color: white;
|
|
}
|
|
button[type=submit]:hover {
|
|
color: var(--lighter-dark);
|
|
background-color: var(--inverse-backgroud);
|
|
cursor: pointer;
|
|
}
|
|
footer.pt-footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
width: 100%;
|
|
padding-top: .5rem;
|
|
background-image: linear-gradient(to bottom, var(--background), var(--darkest));
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
justify-content: space-between;
|
|
align-items: end;
|
|
}
|
|
#pt-legal {
|
|
padding-left: .75rem;
|
|
}
|
|
#pt-legal a:link,
|
|
#pt-legal a:visited {
|
|
color: white;
|
|
font-size: 10pt;
|
|
background-color: var(--darkest);
|
|
padding: 0 .5rem;
|
|
border-top-left-radius: .5rem;
|
|
border-top-right-radius: .5rem;
|
|
}
|
|
#pt-legal a:hover {
|
|
background-color: var(--lighter-dark);
|
|
}
|
|
#pt-footer {
|
|
border: solid 2px navy;
|
|
border-bottom: 0;
|
|
border-top-left-radius: 7px;
|
|
border-top-right-radius: 7px;
|
|
padding: 2px 5px 0 5px;
|
|
margin-right: .75rem;
|
|
font-size: 70%;
|
|
color: navy;
|
|
background-color: #eee;
|
|
}
|
|
#pt-footer img,
|
|
#pt-footer span,
|
|
#pt-footer i {
|
|
vertical-align: bottom;
|
|
}
|
|
#pt-version {
|
|
padding-left: .25rem;
|
|
}
|
|
footer a:hover {
|
|
border-bottom: 0;
|
|
}
|
|
.pt-center-columns {
|
|
display: flex;
|
|
flex-flow: column;
|
|
align-content: center;
|
|
}
|
|
.pt-field-row {
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 2rem;
|
|
}
|
|
.pt-field {
|
|
display: flex;
|
|
flex-flow: column;
|
|
padding-bottom: .5rem;
|
|
}
|
|
.pt-checkbox-field {
|
|
display: block;
|
|
margin: auto;
|
|
padding-bottom: .5rem;
|
|
}
|
|
.pt-field > label,
|
|
.pt-checkbox-field > label {
|
|
font-size: .75rem;
|
|
text-transform: uppercase;
|
|
color: #777;
|
|
}
|
|
.pt-group {
|
|
display: flex;
|
|
flex-flow: row;
|
|
gap: 1.5rem;
|
|
align-items: baseline;
|
|
}
|
|
.pt-center-text {
|
|
text-align: center;
|
|
}
|
|
.pt-right-text {
|
|
text-align: right;
|
|
}
|
|
|
|
.pt-table {
|
|
display: grid;
|
|
justify-content: center;
|
|
}
|
|
.pt-table .row.head,
|
|
.pt-table .row {
|
|
display: contents;
|
|
}
|
|
.pt-table .row:hover > * {
|
|
background-color: #eee;
|
|
}
|
|
.pt-table .row.head .cell {
|
|
background-image: linear-gradient(to bottom, var(--dark), var(--lighter-dark));
|
|
font-weight: bold;
|
|
color: white;
|
|
text-align: center;
|
|
font-size: .85rem;
|
|
}
|
|
.pt-table .row.head .cell:first-of-type {
|
|
border-top-left-radius: .5rem;
|
|
}
|
|
.pt-table .row.head .cell:last-of-type {
|
|
border-top-right-radius: .5rem;
|
|
}
|
|
.pt-table .cell {
|
|
padding: .25rem .5rem;
|
|
border-bottom: dotted 1px var(--lighter-dark);
|
|
}
|
|
.pt-table .cell.actions {
|
|
border-bottom-color: var(--background);
|
|
}
|
|
.pt-table .cell.actions a {
|
|
background-color: gray;
|
|
color: white;
|
|
border-radius: .5rem;
|
|
padding: 0 .5rem .25rem;
|
|
margin: 0 .125rem;
|
|
}
|
|
.pt-table .row:hover .cell.actions a {
|
|
background-color: var(--dark);
|
|
}
|
|
|
|
/* TODO: Figure out nice CSS transitions for these; these don't work */
|
|
.pt-fadeable {
|
|
height: 0;
|
|
overflow: hidden;
|
|
transition: all ease-out .5s;
|
|
}
|
|
.pt-shown {
|
|
height: auto;
|
|
transition: all ease-in .5s;
|
|
}
|
|
.pt-icon-link {
|
|
white-space: nowrap;
|
|
}
|
|
article.pt-overview {
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
justify-content: space-around;
|
|
align-items: flex-start;
|
|
}
|
|
article.pt-overview section {
|
|
max-width: 20rem;
|
|
border: solid 1px #444;
|
|
border-radius: 1rem;
|
|
margin: 2rem;
|
|
}
|
|
article.pt-overview section header {
|
|
text-align: center;
|
|
border-top-left-radius: 1rem;
|
|
border-top-right-radius: 1rem;
|
|
background-image: linear-gradient(to bottom, var(--dark), var(--lighter-dark));
|
|
padding: .5rem 1rem;
|
|
color: white;
|
|
}
|
|
article.pt-overview section div {
|
|
padding: .5rem;
|
|
}
|
|
article.pt-overview section div hr {
|
|
color: var(--dark);
|
|
margin: .5rem -.5rem;
|
|
}
|
|
article.pt-overview section div p {
|
|
margin: 0;
|
|
}
|
|
.pt-editor {
|
|
width: 100%;
|
|
}
|
|
.pt-messages {
|
|
display: flex;
|
|
flex-flow: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.pt-msg {
|
|
margin: .5rem auto;
|
|
border-top-right-radius: .5rem;
|
|
border-bottom-left-radius: .5rem;
|
|
border-width: 2px;
|
|
border-style: solid;
|
|
border-collapse: inherit;
|
|
padding: 5px 30px;
|
|
text-align: center;
|
|
}
|
|
.pt-msg ul {
|
|
text-align: left;
|
|
}
|
|
.pt-msg.error {
|
|
background-color: #ffb6c1;
|
|
border-color: #ff0000;
|
|
}
|
|
.pt-msg.error strong {
|
|
color: #ff0000;
|
|
}
|
|
.pt-msg.warning {
|
|
background-color: #fafad2;
|
|
border-color: #a0522d;
|
|
}
|
|
.pt-msg.warning strong {
|
|
color: #a0522d;
|
|
}
|
|
.pt-msg.info {
|
|
background-color: #add8e6;
|
|
border-color: #000064;
|
|
}
|
|
.pt-msg .description {
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
margin: auto;
|
|
text-align: left;
|
|
padding: .25rem 0;
|
|
}
|
|
.pt-email-heading {
|
|
text-decoration: underline;
|
|
font-style: italic;
|
|
}
|
|
.pt-email-canvas {
|
|
background-color: white;
|
|
width: 95%;
|
|
border: dotted 1px navy;
|
|
border-radius: 5px;
|
|
margin: auto;
|
|
}
|
|
.pt-search-form input,
|
|
.pt-search-form button,
|
|
.pt-search-form i.material-icons {
|
|
font-size: .8rem;
|
|
}
|
|
|
|
.pt-request-update {
|
|
font-style: italic;
|
|
}
|
|
.pt-request-expired {
|
|
text-decoration: line-through;
|
|
}
|
|
.material-icons.md-18 {
|
|
font-size: 18px;
|
|
}
|
|
.material-icons.md-24 {
|
|
font-size: 24px;
|
|
}
|
|
.material-icons.md-36 {
|
|
font-size: 36px;
|
|
}
|
|
.material-icons.md-48 {
|
|
font-size: 48px;
|
|
}
|
|
.material-icons.md-72 {
|
|
font-size: 72px;
|
|
}
|
|
.material-icons {
|
|
vertical-align: middle;
|
|
}
|
|
.pt-help-link {
|
|
padding-right: .25rem;
|
|
}
|
|
#pt-help {
|
|
background-color: #fcfcfc;
|
|
} |