/**
 * Band Styles
 * @project De Büsch Band
 * @author  Marc Görtz <https://marcgoertz.de/>
 */

@charset 'utf-8';

@font-face {
	font-family: poppins;
	font-weight: 600;
	font-style: normal;
	font-display: fallback;
	src:
		local('poppins semibold'),
		local('poppins-semibold'),
		url('fonts/poppins-semibold.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
		U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Open Sans';
	font-weight: 400;
	font-style: normal;
	font-display: fallback;
	src:
		local('open sans regular'),
		local('opensans-regular'),
		url('fonts/opensans-regular.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
		U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Open Sans';
	font-weight: 600;
	font-style: normal;
	font-display: fallback;
	src:
		local('open sans semibold'),
		local('opensans-semibold'),
		url('fonts/opensans-semibold.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
		U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-black: #000;
  --color-white: #fff;
  --font-headline: 'poppins', sans-serif;
  --font-body: 'Open Sans', sans-serif;
}

html {
  color-scheme: dark;
  color: var(--color-white);
  background: var(--color-black) url('img/background.png') repeat top;
  font: 1em/1.5 var(--font-body);
  text-size-adjust: 100%; /* prevents text size adjust after orientation change */
  text-align: center;
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a:link ,
a:visited ,
a:hover ,
a:focus ,
a:active {
  display: inline-block;
  padding: .75em 1.75em;
  border-width: 3px;
  border-style: solid;
  border-radius: 3em;
  min-height: 3.125em;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .25ex;
  box-sizing: border-box;
  transition: all .2s ease;
}

a:link ,
a:visited {
  border-color: var(--color-white);
  color: var(--color-white);
  background: transparent;
}

a:hover ,
a:focus ,
a:active {
  border-color: var(--color-white);
  color: var(--color-black);
  background: var(--color-white);
}

h1 {
  margin: 1em 0;
}

h2 {
  margin: 0 0 1em;
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: 1.875em;
  line-height: 1.5;
}

ol {
  padding: 0;
  list-style: none;
}

abbr[title] {
  text-decoration: none;
  border-bottom: 0 none;
  cursor: help;
}

b {
  font-weight: 600;
}

small {
  display: block;
  margin: .5em 0 0;
  font-size: .75em;
}

header {
  padding: 2em 0 0;
}

header a:link ,
header a:visited ,
header a:hover ,
header a:focus ,
header a:active {
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  min-height: inherit;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  color: #fff;
  background: transparent;
}

section {
  margin: 0 auto 1em;
  padding: 2em 1em;
  max-width: 38em;
}

.separator {
  position: relative;
  width: 100%;
  max-height: 30em;
  max-height: 40vh;
  overflow: hidden;
  clear: both;
}

.separator hr {
  display: none;
}

.separator::before {
  content: '';
  display: block;
  padding-top: 66.6667%
}

.separator::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  background: transparent none no-repeat center;
  background-size: cover;
  box-shadow: inset 0 0 4em #000;
}

#ueber-uns + .separator::after {
  background-image: url('img/sax-small.jpg');
  background-image: image-set(
    url('img/sax-small.jpg'),
    url('img/sax-small.webp') type('image/webp')
  );
}

#geschichte + .separator::after {
  background-image: url('img/mic-small.jpg');
  background-image: image-set(
    url('img/mic-small.jpg'),
    url('img/mic-small.webp') type('image/webp')
  );
}

.call-to-action {
  margin-top: 2em;
}

.call-to-action a:hover ,
.call-to-action a:focus ,
.call-to-action a:active {
  padding-left: 3.5em;
  padding-right: 3.5em;
}

.h-card {
  margin-bottom: 3em;
}

.h-card a:link ,
.h-card a:visited ,
.h-card a:hover ,
.h-card a:focus ,
.h-card a:active {
  margin: .5em 1ex 0;
}

::selection {
  color: #fff;
  background: #c00;
}

@media (min-width: 640px) {
  html {
    font-size: 1.5em;
  }

  a:link ,
  a:visited ,
  a:hover ,
  a:focus ,
  a:active {
    font-size: .6667em;
  }
}

@media (min-width: 64em) {
  .separator::after {
    background-attachment: fixed;
  }

  #ueber-uns + .separator::after {
    background-image: url('img/sax-medium.jpg');
    background-image: image-set(
      url('img/sax-medium.jpg'),
      url('img/sax-medium.webp') type('image/webp')
    );
  }

  #geschichte + .separator::after {
    background-image: url('img/mic-medium.jpg');
    background-image: image-set(
      url('img/mic-medium.jpg'),
      url('img/mic-medium.webp') type('image/webp')
    );
  }
}

@media (min-width: 105em) {
  #ueber-uns + .separator::after {
    background-image: url('img/sax-large.jpg');
    background-image: image-set(
      url('img/sax-large.jpg'),
      url('img/sax-large.webp') type('image/webp')
    );
  }

  #geschichte + .separator::after {
    background-image: url('img/mic-large.jpg');
    background-image: image-set(
      url('img/mic-large.jpg'),
      url('img/mic-large.webp') type('image/webp')
    );
  }
}
