/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

@import url('https://fonts.googleapis.com/css2?family=Gentium+Basic&display=swap');

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
  display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

/* ----------- */

a {
	color: #d10000;
}

a:hover {
	text-decoration: none;
	color: #d18700;
}

html {
	height: 100%;
}

body {
	background-color: #09080c;
	
	background-attachment: fixed;
	background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	/*background-image: url("../img/bg-roll-1.png");*/
	background-image: url("../img/spellcard-bg-sky.png");
	
	color: #ffffff;
	height: 100%;
}

img {
	max-width: 100%;
}

i {
	vertical-align: middle;
	margin-left: 10px;
	margin-right: 10px;
	transition: all .4s;
}

button {
	margin-bottom: 20px;
}

h1 {
	font-family: 'New Century Schoolbook', 'TeX Gyre Schola', serif;
	text-shadow: 5px 5px 5px black;
}

.bigheader {
	background-color: red;
	font-size: 2.5em;
}

.btn-primary {
	background-color: #8822ff;
	border-color: #8800cc;
	padding-right: 28px;
	transition: all .4s;
}

	.btn-primary:hover {
		background-color: #cc2266 !Important;
		border-color: #cc2266 !Important;
	}

	.btn-primary:active {
		background-color: #cc2266 !Important;
		border-color: #cc2266 !Important;
	}

	.btn-primary:focus {
		background-color: #cc2266 !Important;
		border-color: #cc2266 !Important;
	}

.btn-secondary {
	background-color: #2288ff;
	border-color: #0000cc;
	padding-right: 28px;
	transition: all .4s;
}

	.btn-secondary:hover {
		background-color: #cc2266 !Important;
		border-color: #cc2266 !Important;
	}

	.btn-secondary:active {
		background-color: #cc2266 !Important;
		border-color: #cc2266 !Important;
	}

	.btn-secondary:focus {
		background-color: #cc2266 !Important;
		border-color: #cc2266 !Important;
	}
	
.btn-info {
	background-color: rgba(0,0,0,.25);
	border-color: #fff;
	border-width: 3px;
	transition: all .4s;
	height: 75px;
}

	.btn-info:hover {
		background-color: #fff !Important;
		border-color: #fff !Important;
		color: black;
	}

	.btn-info:active {
		background-color: #fff !Important;
		border-color: #fff !Important;
		color: black;
	}

	.btn-info:focus {
		background-color: #fff !Important;
		border-color: #fff !Important;
		color: black;
	}

.bgcontainerdiv {
	margin-top: 0px;
	margin-bottom: 25px;
	padding-top: 0px;
	padding-bottom: 0px;
	background-attachment: fixed;
	background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bgdark {
	background-color: #0c0caa;
}

.bgcontainerimg1 {
	background-image: url("../img/bg-roll-1.png");
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

.bgscootch {
	background-position-y: -50px;
}

.card {
	/*background-color: #230837;*/
	/*border-color: #401572;*/
	border: none;
	background-image: linear-gradient(to right, #230837, #143c5a);
}

.sideimg {
	height: 18rem;
}

.matchheight {
	display: block;
	height: 100%;
	width: auto;
}

.matchwidth {
	display: block;
	height: auto;
	width: 100%;
}

.text-shortdesc {
	/* color: #cc88ff !important;
	font-weight: 700!important;
	font-style: italic; */
	font-size: 1.5em !important;
}

.bgcover {
	position: relative;
	height: 100vh;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.bgcover > video {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

@media screen and (max-aspect-ratio: 1920/1080) {
  .bgcover > video {
    height: 100%;
  }
}
@media screen and (min-aspect-ratio: 1920/1080) {
  .bgcover > video {
    width: 100%;
  }
}
	
div.centerdiv {
	position: relative;
    left: 35%;
    transform: translateX(35%);
}

.coverimg {
	position: absolute;
	top: 2.5%;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
	height: auto;
	width: 100vmin;
	object-fit: cover;
	z-index: 2;
}

@media all and (min-width: 600px) {
	.coverbtn button {
		margin-right: 75px !important;
	}
}

.coverbtn {
	position: absolute;
	bottom: 2.5%;
	left: auto;
	right: 0px;
	width: 100%;
	margin: auto;
	display: block;
	height: auto;
	object-fit: cover;
	z-index: 2;
}

	.coverbtn button {
		display: block;
		margin-left: auto;
		margin-right: auto;
		min-width: 350px;
		max-width: 600px;
	}

.coverdiv {
	background-color: #00000044;
	position: absolute;
	bottom: 2.5%;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	margin: auto;
	display: block;
	object-fit: cover;
	z-index: 2;
}

.displacedanchor {
	position: relative;
    top: -100px;
}

.displacedpercentageanchor {
	position: relative;
    top: -50%;
}

.downarrow {
	position: absolute;
	text-align: center;
	margin: auto;
	width: 100%;
	bottom: 0px;
	font-size: 9vh
}

.idek {
	object-fit: cover;
    height: 50%;	
}

.gif50 {
	object-fit: cover;
    width: 50%;	
}

.gif75 {
	object-fit: cover;
    width: 75%;	
}

.gif90 {
	object-fit: cover;
    width: 90%;	
}

.gif100 {
	object-fit: cover;
    width: 100%;	
}

.lead {
	font-weight: 600;
}

.love {
	font-size: 2em;
}

div.middletext {
	position: relative;
    top: 35%;
    transform: translateY(-35%);
}

	div.middletext h1 {
		margin-top: 0;
	}
	
.navbar-dark {
	/*background-color: #230837 !important */
	/*background-image: linear-gradient(to right, #311431, #230837, #143c5a);*/
	background-image: linear-gradient(to right, #230837, #143c5a);
}

.navbar {
	padding-top: 3px;
	padding-bottom: 3px;
}

.nav-link {
	padding-left: .75rem !Important;
	padding-right: .75rem !Important;
}

.rolleybar {
	transition: top 0.3s;
	top: -100px;
}

a.sociallogo {
	margin-right: 50px;
}

img.sociallogo {
	max-height: 80px;
}

a.text-primary:hover {
	color: #8822ff !important;
}

.text-primary {
	color: #cc88ff !important;
	font-weight: 700!important;
	font-style: italic;
}

.text-secondary {
	color: #88ccff !important;
	font-weight: 700!important;
	font-style: italic;
}

.topdiv {
	position: relative;
	height: 100px;
	;background-position: center;
	;background-repeat: no-repeat;
	;background-size: cover;
	;overflow: hidden;
}

.video {
	aspect-ratio: 16/9;
	display: block;
	width: 65%;
}

.widecontainer {
	max-width: 1300px;
}

.welcomediv {
	margin-bottom: 25px;
	padding-top: 25px;
	padding-bottom: 10px;
	height: 100vh;
	background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	background-image: url("../img/bg-welcome.png");
	display: flex;
	justify-content: center;
	align-items: center; 
}

	.welcomediv h1 {
		font-size: 10vmin;
	}

	.welcomediv p {
		font-size: 4vmin;
		text-shadow: 5px 5px 5px black;
	}
	
.welcomedivtextcontainer {
	/* blah. */
}

.keyimage {
	max-height:320px;
}