body {

  background-color: #eee;
}

.subline {
  font-size:1.4em;
  line-height: 1.4em;
  font-weight: bold;
}

u {
  text-decoration-line: underline;
  text-decoration-style: wavy;
}

u:hover {
  text-decoration-line: underline;
  text-decoration-style: solid;
}

/* Rotation Animation */

.rotate {
      -webkit-animation:spin 5s linear infinite;
      -moz-animation:spin 5s linear infinite;
      animation:spin 5s linear infinite;
  }
  @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
  @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
  @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }


  ::-moz-selection { /* Code for Firefox */
      color: #ffffff;
      background: #000000;
  }

  ::selection {
      color: #ffffff;
      background: #000000;
  }



  /* Text Marquee Animation */

    .marquee {
  		max-width: 100vw;
  		white-space: nowrap;
  		overflow: hidden;
  		font-size:10rem;
      padding: 50px;
  	}

  	.marquee span {
  		display: inline-block;
  		padding-left: 105%;
  		animation: marquee 10s linear infinite;
  	}

  	.marquee span:hover {
  		animation-play-state: paused
  	}

  	@keyframes marquee {
  		0%   { transform: translateX(0); }
  		100% { transform: translateX(-100%); }
  	}



    /* CSS Accordion (Summary/Detail) */

    details div {
    	border-left: 0px solid #000;
    	border-right: 0px solid #000;
    	border-bottom: 0px solid #000;
    	padding: 1.5em;
    }

    details div > * + * {
    	margin-top: 1.5em;
    }

    details + details {
    	margin-top: .5rem;
    }

    summary {
    	list-style: none;
    }

    summary::-webkit-details-marker {
    	display: none;
    }

    summary {
    	border: 0px solid #000;
    	padding: .75em 1em;
    	cursor: pointer;
    	position: relative;
    	padding-left: calc(1.75rem + .75rem + .75rem);
    }

    summary:before {
    	position: absolute;
    	transform: translateY(-50%);
    	left: .1rem;
      top: 2.7rem;
      content: "→";
      font-size: 2rem;
    	width: 3rem;
    	height: 3rem;
    	background-color: none;
    	color: #000;
    	display: inline-flex;
    	justify-content: center;
    	align-items: center;
    	flex-shrink: 0;
    }

    details[open] summary {
    	background-color: none;
    }

    details[open] summary:before {
    	content: "↓";
    }

    summary:hover {
      text-decoration: underline;
    }
