style.css 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. /*
  2. Style for broadcast html as generated by broadcast2html.xslt.
  3. Supposed to be either linked to from or located in station/<name>/app/style.css,
  4. so each station could provide a custom skin.
  5. */
  6. html {
  7. --bgRough: rgb(237, 227, 207);
  8. --bgFairway: rgb(217, 207, 187);
  9. --text-color: hsl(30, 50%, 24%);
  10. --link-color: hsl(200, 60%, 45%);
  11. }
  12. @media (prefers-color-scheme: dark) {
  13. html {
  14. --bgRough: #111;
  15. --bgFairway: #111;
  16. --text-color: hsl(30, 35%, 59%);
  17. --link-color: hsl(200, 60%, 60%);
  18. }
  19. }
  20. html {
  21. /* font-family: DeutscheDruckschrift; */
  22. min-width: 319px;
  23. background-color: var(--bgRough);
  24. color: var(--text-color);
  25. }
  26. body {
  27. font-family: sans-serif;
  28. background-color: var(--bgFairway);
  29. border-radius: 30px;
  30. box-shadow: 1px 2px 1px #333;
  31. padding: 1em;
  32. margin: 1em auto;
  33. max-width: 800px;
  34. }
  35. a {
  36. color: var(--link-color);
  37. }
  38. ul.buttongroup {
  39. clear: left;
  40. list-style-type: none;
  41. padding: 0;
  42. margin: -1em;
  43. }
  44. ul.nobullet {
  45. list-style-type:none;
  46. padding: 0;
  47. }
  48. ul.buttongroup li {
  49. float: left;
  50. padding: 0;
  51. margin: 3pt;
  52. max-width: 45%;
  53. background-color: rgba(0,0,0,0.061);
  54. border: 1px solid rgba(0,0,0,0.1);
  55. border-radius: 15px;
  56. }
  57. ul.buttongroup li a {
  58. display: block;
  59. padding: 0 4px;
  60. text-align: center;
  61. min-width: 30px;
  62. min-height: 4.5ex;
  63. text-decoration: none;
  64. }
  65. ul#whatsonnow li a {
  66. min-width: 120px;
  67. max-width: 240px;
  68. overflow: hidden;
  69. text-overflow: ellipsis;
  70. -o-text-overflow: ellipsis;
  71. white-space: nowrap;
  72. }
  73. *.station.title {
  74. text-transform:capitalize;
  75. font-variant: small-caps;
  76. }
  77. ul#navigation a span {
  78. font-family: sans-serif;
  79. font-size: 10pt;
  80. }
  81. ul#navigation li {
  82. margin: 1px;
  83. width: 13%;
  84. }
  85. #image {
  86. float:right;
  87. margin: 0 -0.5ex 0 0;
  88. max-width: 45%;
  89. min-height: 150px;
  90. min-width: 150px;
  91. }
  92. #content {
  93. background-color: rgba(0,0,0,0.03);
  94. margin: 0 -0.5ex 0 -0.5ex;
  95. padding: 0 0.5ex 0 0.5ex;
  96. }
  97. /*
  98. #content p::first-letter {
  99. color: rgb(147, 77, 63);
  100. float: left;
  101. font-family: DeutscheDruckschriftInitialen;
  102. font-size: 100pt;
  103. vertical-align: top;
  104. }
  105. */
  106. .border, .station.logo {
  107. border: 1px solid rgba(0,0,0,0.1);
  108. border-radius: 4px;
  109. }
  110. .station.logo {
  111. max-height: 30px;
  112. }
  113. fieldset {
  114. border: 0 none;
  115. }
  116. input[type="submit"] {
  117. /* font-family: DeutscheDruckschrift; */
  118. font-size: 110%;
  119. }
  120. #footer {
  121. font-size: 8pt;
  122. color: darkgrey;
  123. overflow: hidden;
  124. text-overflow: ellipsis;
  125. -o-text-overflow: ellipsis;
  126. }
  127. /* hide enclosure paragraph by default */
  128. #enclosure {
  129. display:none;
  130. }
  131. .has_podcast.is_future #title:before { content:"* "; }
  132. @keyframes doSpin {
  133. 0% {
  134. opacity: 1;
  135. transform: rotate(0deg) scale(1);
  136. }
  137. 50% {
  138. opacity: 0.25;
  139. transform: rotate(180deg) scale(0.75);
  140. }
  141. 100% {
  142. opacity: 1;
  143. transform: rotate(360deg) scale(1);
  144. }
  145. }
  146. .has_podcast.is_current #title:before {
  147. content:"♪ ";
  148. animation-duration: 1s;
  149. animation-name: doSpin;
  150. animation-duration: 5s;
  151. animation-iteration-count: infinite;
  152. }
  153. .has_podcast.is_past #title:before { content:"✇ "; }
  154. /* disable recording button for past broadcasts */
  155. .is_past form#ad_hoc { display:none; }
  156. #series {
  157. clear: left;
  158. }
  159. #allday {
  160. font-size: 9pt;
  161. }
  162. #allday a.is_current > span {
  163. background: none repeat scroll 0 0 orange;
  164. color: #262626;
  165. border-radius: 3px;
  166. padding: 4px;
  167. margin: 0 0 0 1ex;
  168. text-decoration: blink;
  169. }
  170. #allday a {
  171. }
  172. *.is_current *.now {
  173. background: none repeat scroll 0 0 orange;
  174. }
  175. ul > li > a.has_podcast:after { content:" *"; }
  176. ul > li > a.has_podcast.is_past:after { content:" ✇"; }
  177. ul > li > a.has_podcast.is_current:after { content:" ♪"; }
  178. /* This is a workaround for Browsers that insert additional <br> tags.
  179. * See http://purl.mro.name/safari-xslt-br-bug */
  180. br { display:none; }
  181. br.br { display:inline; }
  182. @media screen and (max-width: 581px) {
  183. /* http://maddesigns.de/meta-viewport-1817.html */
  184. .navigation {
  185. line-height: 3.5ex;
  186. }
  187. }
  188. /** see https://www.w3.org/community/fedsocweb/ and https://www.w3.org/community/src/cgbg2012/templates/wordpress/StoryTeller/style.css */
  189. /*
  190. @keyframes fadeInRotate {
  191. 0% {
  192. opacity: 0;
  193. transform: rotate(180deg) scale(0.1);
  194. }
  195. 35% {
  196. opacity: 0.1;
  197. }
  198. 100% {
  199. opacity: 1;
  200. transform: rotate(360deg) scale(1);
  201. }
  202. }
  203. .fadeInRotate {
  204. animation-name: fadeInRotate;
  205. }
  206. .animated {
  207. animation-duration: 1s;
  208. animation-fill-mode: both;
  209. }
  210. */
  211. @media (prefers-color-scheme: dark) {
  212. ul.buttongroup li {
  213. background-color: hsla(40, 28.3%, 79.2%, 20%);
  214. border-color: hsla(40, 28.3%, 79.2%, 25%);
  215. }
  216. }