/* montserrat-alternates-500 */
@font-face {
font-display: swap;
font-family: 'Montserrat Alternates';
font-style: normal;
font-weight: 500;
src: url('../f/montserrat-alternates-500.woff2') format('woff2'),
       url('../f/montserrat-alternates-500.woff') format('woff');
}

:root {
--base:#fff;
--accent: #7519BD;
--accent-2:#AA096F; 

--width: 1040px;
}

body {
background: var(--base);
font-family: -apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;
font-size: 130%;
margin: 0;
padding: 0;
line-height: 1.4;
}

:focus-visible {
outline: 4px solid black;
box-shadow: 0 0 0 6px white;
}

a { 
text-decoration: underline;
color: var(--accent);
}

a:hover, a:focus { 
color: var(--accent-2);
text-decoration: underline;
}

a:active { 
color: #000;
text-decoration: underline;
}

/* header and footer */

header, footer, .content, .fullwidthinner {
max-width: var(--width);
margin-left: auto;
margin-right: auto;
padding: 0 1em;
}

body.page .banner {
height: 3em;
}

.banner {
background-color: var(--accent-2);
background-image: linear-gradient(45deg, rgba(19, 19, 19, 0.09) 0%, rgba(19, 19, 19, 0.09) 29%,rgba(124, 124, 124, 0.09) 29%, rgba(124, 124, 124, 0.09) 35%,rgba(119, 119, 119, 0.09) 35%, rgba(119, 119, 119, 0.09) 37%,rgba(229, 229, 229, 0.09) 37%, rgba(229, 229, 229, 0.09) 41%,rgba(116, 116, 116, 0.09) 41%, rgba(116, 116, 116, 0.09) 67%,rgba(136, 136, 136, 0.09) 67%, rgba(136, 136, 136, 0.09) 90%,rgba(206, 206, 206, 0.09) 90%, rgba(206, 206, 206, 0.09) 100%),linear-gradient(135deg, rgba(250, 250, 250, 0.01) 0%, rgba(250, 250, 250, 0.01) 27%,rgba(31, 31, 31, 0.01) 27%, rgba(31, 31, 31, 0.01) 29%,rgba(89, 89, 89, 0.01) 29%, rgba(89, 89, 89, 0.01) 54%,rgba(225, 225, 225, 0.01) 54%, rgba(225, 225, 225, 0.01) 77%,rgba(252, 252, 252, 0.01) 77%, rgba(252, 252, 252, 0.01) 79%,rgba(139, 139, 139, 0.01) 79%, rgba(139, 139, 139, 0.01) 80%,rgba(28, 28, 28, 0.01) 80%, rgba(28, 28, 28, 0.01) 82%,rgba(166, 166, 166, 0.01) 82%, rgba(166, 166, 166, 0.01) 100%),linear-gradient(45deg, rgba(99, 99, 99, 0.06) 0%, rgba(99, 99, 99, 0.06) 5%,rgba(135, 135, 135, 0.06) 5%, rgba(135, 135, 135, 0.06) 60%,rgba(231, 231, 231, 0.06) 60%, rgba(231, 231, 231, 0.06) 62%,rgba(136, 136, 136, 0.06) 62%, rgba(136, 136, 136, 0.06) 84%,rgba(169, 169, 169, 0.06) 84%, rgba(169, 169, 169, 0.06) 100%),linear-gradient(135deg, rgba(43, 43, 43, 0.07) 0%, rgba(43, 43, 43, 0.07) 3%,rgba(3, 3, 3, 0.07) 3%, rgba(3, 3, 3, 0.07) 10%,rgba(77, 77, 77, 0.07) 10%, rgba(77, 77, 77, 0.07) 39%,rgba(19, 19, 19, 0.07) 39%, rgba(19, 19, 19, 0.07) 41%,rgba(232, 232, 232, 0.07) 41%, rgba(232, 232, 232, 0.07) 70%,rgba(188, 188, 188, 0.07) 70%, rgba(188, 188, 188, 0.07) 100%),linear-gradient(135deg, rgba(194, 194, 194, 0.04) 0%, rgba(194, 194, 194, 0.04) 24%,rgba(193, 193, 193, 0.04) 24%, rgba(193, 193, 193, 0.04) 49%,rgba(76, 76, 76, 0.04) 49%, rgba(76, 76, 76, 0.04) 90%,rgba(13, 13, 13, 0.04) 90%, rgba(13, 13, 13, 0.04) 94%,rgba(12, 12, 12, 0.04) 94%, rgba(12, 12, 12, 0.04) 99%,rgba(35, 35, 35, 0.04) 99%, rgba(35, 35, 35, 0.04) 100%),linear-gradient(135deg, rgba(233, 233, 233, 0.03) 0%, rgba(233, 233, 233, 0.03) 24%,rgba(7, 7, 7, 0.03) 24%, rgba(7, 7, 7, 0.03) 45%,rgba(156, 156, 156, 0.03) 45%, rgba(156, 156, 156, 0.03) 78%,rgba(105, 105, 105, 0.03) 78%, rgba(105, 105, 105, 0.03) 100%),linear-gradient(135deg, rgba(12, 12, 12, 0.02) 0%, rgba(12, 12, 12, 0.02) 40%,rgba(97, 97, 97, 0.02) 40%, rgba(97, 97, 97, 0.02) 51%,rgba(222, 222, 222, 0.02) 51%, rgba(222, 222, 222, 0.02) 61%,rgba(235, 235, 235, 0.02) 61%, rgba(235, 235, 235, 0.02) 78%,rgba(30, 30, 30, 0.02) 78%, rgba(30, 30, 30, 0.02) 88%,rgba(104, 104, 104, 0.02) 88%, rgba(104, 104, 104, 0.02) 100%),linear-gradient(0deg, rgba(80, 80, 80, 0.1) 0%, rgba(80, 80, 80, 0.1) 9%,rgba(209, 209, 209, 0.1) 9%, rgba(209, 209, 209, 0.1) 26%,rgba(170, 170, 170, 0.1) 26%, rgba(170, 170, 170, 0.1) 56%,rgba(86, 86, 86, 0.1) 56%, rgba(86, 86, 86, 0.1) 63%,rgba(53, 53, 53, 0.1) 63%, rgba(53, 53, 53, 0.1) 83%,rgba(170, 170, 170, 0.1) 83%, rgba(170, 170, 170, 0.1) 88%,rgba(36, 36, 36, 0.1) 88%, rgba(36, 36, 36, 0.1) 100%),linear-gradient(90deg, rgb(117, 25, 189),rgb(170,9,111));

box-shadow: 0 0 20px rgb(0 0 0 / 50%) inset;
}

header {
text-align: center;
margin-top: 4em;
margin-bottom: 2em;
}

body.page header {
width: 90%;
max-width: 70em;
margin-top: 1.5em;
display: flex;
justify-content: space-between;
}

body.page #logo {
font-family: 'Montserrat Alternates', sans-serif;
font-weight: 500;
text-transform: uppercase;
font-size: 150%;
}

body.page #logo span {
color: var(--accent-2);
}

body.page #logo a {
text-decoration: none;
}

body.page #logo img {
vertical-align: middle;
height: 1.5em;
width: auto;
margin-right: .3em;
}

footer {
text-align: center;
margin-top: 6em;
margin-bottom: 6em;
font-size: 70%;
}

/* navigation */

nav {
margin: auto 0;
text-align: center;
}

nav ul {
margin: 0;
}

nav li {
text-align: left;
display: inline;
background: none;
vertical-align: super; /* middle on full image logo */
margin: 0; /* margin: 0 0 .5em 1em;*/
padding: 0;
}

nav li a {
font-family: 'Montserrat Alternates', sans-serif;
font-weight: 500;
text-transform: uppercase;
color: var(--accent);
font-size: 80%; /* 85% */
text-decoration: none;
padding: 0 .7em;
display: inline-block;
}

nav li a:hover, nav li a:focus {
text-decoration: underline;
}

nav a.active {
color: var(--accent);
}

nav li a img {
vertical-align: middle;
}

nav.navbar {
background: var(--accent-2);
padding: 0 1em;
}

nav.navbar a {
color: #fff;
}

nav.navbar a:hover, nav.navbar a:focus {
text-decoration: underline;
color: #fff;
}

nav.navbar li a.active {
background: var(--accent);
}

/* general */

h1, h2, h3 {
font-family: 'Montserrat Alternates', sans-serif;
font-weight: 500;
text-transform: uppercasex;
}

body.privacypage h2, body.privacypage h3 {
text-align: left;
}

h1 {
font-size: 200%;
color: var(--accent);
margin-bottom: -.2em;
}

h1 span, h2 span {
color: var(--accent-2);
}

h1 img {
margin-right: .2em;
vertical-align: middle;
height: 1.5em;
width: auto;
}

body.page h1 {
font-size: 200%;
}

h2 {
margin-top: 1em;
font-size: 150%;
color: var(--accent);
}

h3 {
margin-top: 1.5em;
font-size: 120%;
color: var(--accent);
}

p {
margin: 1.5em 0;
}

.verse {
font-size: 80%;
margin-right: 1em;
}

.small {
font-size: 80%;
}

.lead {
font-family: 'Montserrat Alternates', sans-serif;
font-weight: 500;
font-size: 110%;
line-height: 1.3;
color: var(--accent);
}

#back-to-top {
background: rgba(0,0,0,.6);
transition: all 200ms linear;
}

#back-to-top:hover, #back-to-top:focus {
background: rgba(0,0,0,9);
}


/* fullwidth background and panels */

.fullwidth {
margin-top: 4em;
margin-bottom: 3em;
margin-left: calc(-100vw / 2 + 100% / 2);
margin-right: calc(-100vw / 2 + 100% / 2);
max-width: 100vw;
width: auto;
padding-top: 1em;
padding-bottom: 2em;

background: #222;
color: #fff;
}

.fullwidth::after {
content: '';
background: url(../images/downarrow.svg) no-repeat top center;
background-size: 100% auto;
width: 80px;
height: 50px;
display: block;
margin: 0 auto;
}

.widewidth {
margin-top: -1em;
margin-bottom: 2em;
margin-left: -1.5em;
width: calc(90% + 8em);
}

#fullwidthback {
background: #000 url(../images/dandilion-header.jpg) no-repeat center center;
background-size: cover;
box-shadow: 0 0 20px rgb(0 0 0 / 80%) inset;
}

.blackpanel {
background: rgba(0,0,0,.7);
margin: 2em 0;
padding: 1em 2em;
color: #fff;
width: 50%;
border-radius: 5px;
}

.blackpanel h2, .blackpanel h3, .blackpanel strong, .blackpanel a {
color: #fff;
margin-top: .5em;
}


/* misc */

ul, ol {
padding-left: 0;
}

ol {
padding-left: 1em;
}

ol li {
margin-bottom: 1em;
}

main img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
border-radius: .5em;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

main img.noshadow {
box-shadow: none;
}

main img.imgc {
display: block;
margin: auto;
}

blockquote {
background: #eee;
margin: 0;
padding: 0.1em 1em 1em 1em;
font-style: italic;
font-size: 120%;
}

blockquote cite {
font-size: 80%;
}

hr {
border: 0;
border-top: .1em solid var(--accent-2);
margin: 2em;
}


/* Features */

.features {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: calc(100% + 2em);
margin: 3em 0 3em -2em;
padding: 0;
list-style: none;
}

.features li {
width: calc(33.33333% - 2em);
margin-left: 2em;
margin-top: 3em;
padding: 0;
background: none;
text-align: center;
}

.features li:nth-child(1), .features li:nth-child(2), .features li:nth-child(3) {
margin-top: 0;
}

.features li > :last-child {
margin-bottom: 0;
}

.features li img {
width: 65%;
border-radius: 0;
box-shadow: none;
}

.features li h3 {
margin: 0.5em 0 -.5em 0;
}

.features li p {
font-size: 90%;
}

/* gallery */

.gallery {
display: flex;
flex-wrap: wrap;
margin: 2em 0 0 -1.25rem;
width: calc(100% + 1.25rem);
list-style: none;
}

.gallery li {
display: block;
margin: 1.25rem 0 0 1.25rem;
width: calc(50% - 1.25rem);
background: none;
padding: 0;
}

.gallery.threeimages li {
width: calc(33.3% - 1.25rem);
}

/* infobox */

.infobox {
display: flex;
flex-flow: row wrap;
margin: 2em 0;
}

.imgarea {
flex: 3;
}

.imgarea.imgsml {
flex: 2;
}

.imgarea.imgxsml {
flex: 1.5;
}

.infoarea {
flex: 4;
margin: auto auto auto 2em;
}

.infoarea.infowide {
flex: 5;
}

.infoarea h2 {
text-align: left;
margin-top: 0;
font-size: 150%;
}

.infoarea h3 {
text-align: left;
margin-top: 0;
}



/* tables */

table {
width: 100%;
border-collapse: collapse;
border-width: 0px;
border-color: var(--accent);
border-style: solid;
}

table thead {
background-color: var(--accent);
color: var(--base);
text-align: left;
font-family: 'Montserrat Alternates', sans-serif;
font-weight: 500;
text-transform: uppercase;
}

table td, table th {
border-width: 0px;
border-color: var(--accent);
border-style: solid;
padding: .5rem;
}

tr:nth-child(even) {
background-color: #efefef;
}


/* media queries */

@media only screen and (max-width: 1080px) {

.widewidth {
margin-left: 0;
margin-right: 0;
width: 100%;
}

body.page header {
margin-bottom: 0;
}

nav {
margin-top: 0;
}

}


@media only screen and (max-width: 900px) {

header, footer, .content, .fullwidthinner, #logo img {
max-width: 85%;
}

}

@media only screen and (max-width: 800px) {

.banner {
min-height: 3em;
}

header {
margin-top: 3em;
margin-bottom: 1.5em;
}

body.page #logo {
font-size: 125%;
margin-bottom: .5em;
}

body.page #logo img {
height: 1.3em;
}

footer {
margin-top: 4em;
margin-bottom: 4em;
}

h1 {
font-size: 250%;
}

body.page h1 {
font-size: 180%;
}

h2 {
font-size: 150%;
}

h3 {
font-size: 120%;
}

.features {
width: 100%;
margin: 0 0 2em 0;
}

.features li {
width: 100%;
margin-left: 0;
margin-top: 2em;
}

.features li:nth-child(2), .features li:nth-child(3) {
margin-top: 2em;
}

.gallery {
margin-top: -1em;
}

.gallery img {
display: block;
margin: 1em 0 0 0;
width: 100%;
}

.imgarea, .imgarea.imgsml, .imgarea.imgxsml {
flex: 1 100%;
}

.infoarea, .infoarea.infowide {
flex: 1 100%;
margin-top: 1.5em;
margin-left: 0;
}

.infoarea h3 {
text-align: center;
margin-top: 1em;
}

.blackpanel {
width: auto;
}

}


@media only screen and (max-width: 450px) {

.banner {
min-height: 2.5em;
}

header {
margin-top: 2.5em;
margin-bottom: 1.25em;
}

nav.navbar {
padding: 0;
}

body.page nav {
margin-left: calc(-100vw / 2 + 100% / 2);
margin-right: calc(-100vw / 2 + 100% / 2);
max-width: 100vw;
width: auto;
}

h1, body.page h1 {
font-size: 140%;
}

h2 {
text-align: left;
font-size: 120%;
}

h3 {
text-align: left;
font-size: 110%;
}

.lead {
font-size: 105%;
}

.blackpanel {
margin: 1em 0;
padding: 1em 1.5em;
}

blockquote {
font-size: 100%;
}

.widewidth {
max-width: auto;
}

.gallery {
display: block;
width: 100%;
margin-left: 0;
}

.gallery li {
margin: 1.25rem 0 0 0;
width: 100%;
}

.gallery.threeimages li {
width: 100%;
}

.gallery img {
display: block;
margin: 2em 0 0 0;
width: 100%;
}

}


html {
scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
}