-/*
+/*!
* Nick's web site: default stylesheet
*
- * Copyright © 2018-2021 Nick Bowler
+ * Copyright © 2018-2022 Nick Bowler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
$tableshadecolour: #f5f5f5;
+$focusringcolour: #628cb2;
+
@mixin header_size($maxwidth, $fontsize) {
font-size: $fontsize;
max-width: 1em * ($maxwidth / $fontsize);
margin: 1em;
}
-a:link { color: $linkdefaultcolour; }
-a:visited { color: $linkvisitedcolour; }
-a:active { color: $linkactivecolour; }
+a:link { color: $linkdefaultcolour; border-color: $linkdefaultcolour; }
+a:visited { color: $linkvisitedcolour; border-color: $linkvisitedcolour; }
+a:active { color: $linkactivecolour; border-color: $linkactivecolour; }
+
+@supports (outline-style: auto) {
+ a:link { border-width: 0; }
+ a:focus { outline: auto $focusringcolour; }
+ li, td, dt { &>a:link { border: solid 1px transparent; } }
+}
h1 { @include header_size(60em, 2em); }
h2 { @include header_size(60em, 1.5em); }
h5 { @include header_size(60em, 1em); }
-p>img { max-width: 40em; width: 100%; height: auto; }
+@supports (display: grid) {
+ .gallery {
+ display: grid;
+ grid-column-gap: 1em;
+ grid-template-columns: repeat( auto-fill, minmax(18em, 1fr) );
+ align-items: center;
+
+ p.img { margin: 0.5em 0; }
+ }
+}
+
+p.img {
+ text-align: center;
+
+ img {
+ vertical-align: bottom;
+ max-width: 40em;
+ width: 100%;
+ height: auto;
+ }
+
+ a {
+ text-decoration: none;
+ display: inline-block;
+ border: solid 2px;
+ }
+
+ small {
+ color: $foregroundcolour;
+ text-align: justify;
+ @media (max-width: 24em) { text-align: left; }
+ padding: 0.5ex;
+ display: block;
+ font-size: 0.9em;
+ }
+}
p, dt, dd, li {
text-align: justify;
}
}
- &:focus ~ table th.clicky-#{$col}>label~label>span:first-child {
- border-color: $foregroundcolour;
- }
-
// Unhide to allow keyboard navigation
display: block !important;
pointer-events: none;
}
}
- &:focus ~ table th.clicky-#{$col}>label~label .svg {
- border-color: $foregroundcolour;
- }
-
pointer-events: none;
position: absolute;
opacity: 0;
z-index: -2;
}
+
+ $focuslabel: ":focus ~ table th.clicky-#{$col}>label~label";
+ #{"input.clicky-#{$col+$focuslabel}"}>span:first-child
+ , #{"input.clicky-#{$col}-rev#{$focuslabel}"} .svg
+ {
+ border-color: $foregroundcolour;
+ @at-root { @supports (outline-style: auto) { & {
+ border-color: transparent;
+ outline: auto $focusringcolour;
+ }}}
+ }
}
thead.clicky label {
&:active { color: $linkactivecolour; }
&:first-child:active>span, &~label:active>.svg {
border-color: $linkactivecolour;
+ @at-root { @supports (outline-style: auto) { & {
+ border-color: transparent;
+ outline: auto $focusringcolour;
+ }}}
}
.svg {
tbody {
.svg, svg, img.svgfallback {
+ vertical-align: middle;
height: 1.5em;
width: auto;
}