/*! 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.
 */

/* ==========================================================================
   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
   ========================================================================== */

   @font-face {
		font-family: 'Cera Pro';
		src: url('../fonts/CeraPro-Regular.eot');
		src: url('../fonts/CeraPro-Regular.eot?#iefix') format('embedded-opentype'),
			url('../fonts/CeraPro-Regular.woff2') format('woff2'),
			url('../fonts/CeraPro-Regular.woff') format('woff'),
			url('../fonts/CeraPro-Regular.ttf') format('truetype'),
			url('../fonts/CeraPro-Regular.svg#CeraPro-Regular') format('svg');
		font-weight: normal;
		font-style: normal;
	}

	@font-face {
		font-family: 'Cera Pro';
		src: url('../fonts/CeraPro-BoldItalic.eot');
		src: url('../fonts/CeraPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
			url('../fonts/CeraPro-BoldItalic.woff2') format('woff2'),
			url('../fonts/CeraPro-BoldItalic.woff') format('woff'),
			url('../fonts/CeraPro-BoldItalic.ttf') format('truetype'),
			url('../fonts/CeraPro-BoldItalic.svg#CeraPro-BoldItalic') format('svg');
		font-weight: bold;
		font-style: italic;
	}

	@font-face {
		font-family: 'Cera Pro';
		src: url('../fonts/CeraPro-Bold.eot');
		src: url('../fonts/CeraPro-Bold.eot?#iefix') format('embedded-opentype'),
			url('../fonts/CeraPro-Bold.woff2') format('woff2'),
			url('../fonts/CeraPro-Bold.woff') format('woff'),
			url('../fonts/CeraPro-Bold.ttf') format('truetype'),
			url('../fonts/CeraPro-Bold.svg#CeraPro-Bold') format('svg');
		font-weight: bold;
		font-style: normal;
	}

	@font-face {
		font-family: 'Cera Pro';
		src: url('../fonts/CeraPro-Italic.eot');
		src: url('../fonts/CeraPro-Italic.eot?#iefix') format('embedded-opentype'),
			url('../fonts/CeraPro-Italic.woff2') format('woff2'),
			url('../fonts/CeraPro-Italic.woff') format('woff'),
			url('../fonts/CeraPro-Italic.ttf') format('truetype'),
			url('../fonts/CeraPro-Italic.svg#CeraPro-Italic') format('svg');
		font-weight: normal;
		font-style: italic;
	}

	/* Components */
	a:hover { text-decoration: none; }
	.prime-color { color: #55cccb; }

	a.border-btn, button.border-btn { font-size: 22px; color: #55cccb; line-height: 1; padding: 15px 35px; font-weight: bold; border: 1px solid #fff; display: inline-flex; transition: ease all .3s; background: none; }
	a.border-btn:hover, button.border-btn:hover { color: #fff; background-color: #55cccb; border-color: #55cccb; }

	.half-section { display: flex; align-items: center; }
	.half-section.half-section--reverse { flex-direction: row-reverse; }
	.half-section__col { width: 100%; max-width: 50%; display: flex; }
	.half-section__col--end { justify-content: flex-end; margin-right: 80px; }
	.half-section__img-container img { width: 100%; }
	.half-section__content { max-width: 670px; padding: 0 15px; position: relative; }
	.section-content h2 { color: #fff; font-size: 70px; text-transform: uppercase; line-height: 1; margin-bottom: 30px; }
	.section-content h3 { color: #fff; font-size: 28px; font-weight: normal; margin-bottom: 20px; }
	.section-content p { color: #a2abc4; font-size: 18px; margin-bottom: 40px; line-height: 1.8; }

	.form-field { margin-bottom: 25px; }
	.form-field label.error { margin-bottom: 0; font-size: 13px; color: #b10000; }
	input, textarea { outline: none; width: 100%; border: none; border-bottom: 1px solid #fff; background: none; color: #fff; border-radius: 0; padding-left: 0; }
	input { height: 45px; }
	textarea { height: 115px; padding: 10px 0; }
	input:focus, textarea:focus { border-color: #55cccb; }
	input:focus::placeholder, textarea:focus::placeholder { color: #55cccb; }

	/* All Styles */

	html, body { font-family: 'Cera Pro'; }
	h1, h2, h3, h4, h5, h6 { font-weight: bold; }
	img { max-width: 100%; height: auto; }

	.container { max-width: 1430px; }

	#masthead { display: flex; flex-direction: column; min-height: 100vh; justify-content: space-between; background: #0d101b url('../images/masthead-bg.jpg') center no-repeat; background-size: cover; position: relative; z-index: 99999; overflow: hidden; }
	#masthead-particles-js { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: -1; }
	#main-header { padding-top: 40px;}
	#main-header .site-logo { margin: 0; line-height: 1; }
	#main-header .main-header__flex { display: flex; justify-content: space-between; align-items: center; }

	@media (min-width: 1025px) {

		#mobile-menu { display: none; }
		#main-menu { display: flex; padding: 0; margin: 0; list-style: none; }
		#main-menu li { margin-left: 30px; font-weight: bold; font-size: 15px; line-height: 1; }
		#main-menu li a { color: #fff; }
		#main-menu li a:hover { color: #55cccb; }
		#main-menu li a.prime-color { color: #55cccb; }
		#main-menu li a.prime-color:hover { color: #fff; }
		#main-menu li.main-menu__mobile-logo { display: none; }
		#main-menu li.main-menu__cta { font-size: 14px; }
		#main-menu li.main-menu__cta a { border: 1px solid #fff; padding: 10px 20px; }
		#main-menu li.main-menu__cta a:hover { border-color: #55cccb; background: #55cccb; }

	}
	@media (max-width: 1024px) {

		.site-navigation:before { transition: ease all 1s; content: ''; display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.8); opacity: 0; }
		.site-navigation.active:before { opacity: 1; }
		#mobile-menu { border-radius: 0; border: 0; background: none; width: 25px; height: 20px; display: flex; padding: 0; list-style: none; flex-direction: column; justify-content: space-between; pointer-events: all; outline: none; z-index: 2; }
		#mobile-menu span { height: 2px; width: 25px; background-color: #55cccb; display: block; transition: ease all .3s; }
		.site-navigation.active #mobile-menu span:nth-child(1) { transform: rotate(45deg); top: 9px; position: relative; }
		.site-navigation.active #mobile-menu span:nth-child(2) { opacity: 0; }
		.site-navigation.active #mobile-menu span:nth-child(3) { transform: rotate(-45deg); bottom: 9px; position: relative; }
		#main-menu { position: fixed; top: 0; right: 100%; height: 100vh; width: 290px; background: #0c1328; letter-spacing: normal; padding: 30px 0 0; margin: 0; transition: ease all .3s; z-index: 1; }
		.site-navigation.active #main-menu { right: calc(100% - 290px); }
		#main-menu li { font-weight: bold; font-size: 15px; line-height: 1; padding: 20px; }
		#main-menu li a { color: #fff; }
		#main-menu li a.prime-color { color: #55cccb; }
		#main-menu li a.prime-color:hover { color: #fff; }
		#main-menu li.main-menu__cta a { border: 1px solid #fff; padding: 10px 20px; }
		#main-menu li.main-menu__cta a:hover { border-color: #55cccb; background: #55cccb; }

	}

	#masthead-content { text-align: center; }
	#masthead-content h2 { font-size: 100px; color: #fff; text-transform: uppercase; line-height: 1; margin-bottom: 30px; }
	#masthead-content p { color: #fff; font-size: 24px; margin-bottom: 30px; }
	#masthead a.page-scroll-btn { display: inline-flex; color: transparent; width: 40px; height: 66px; border: 2px solid #fff; align-self: center; margin-bottom: 5em; text-indent: -99999px; border-radius: 25px; justify-content: center; transition: ease all .3s; padding-top: 10px; }
	#masthead a.page-scroll-btn:after { width: 5px; height: 13px; background-color: #55cccb; content: ''; border-radius: 4px; }
	#masthead a.page-scroll-btn:hover { padding-top: 30px; }
	#main-header, #masthead-content { pointer-events: none; }
	#main-header .site-logo, #main-menu li a, #masthead-content a.border-btn { pointer-events: all; }

	#about-us-section { background-color: #0b0f1b; padding: 140px 0; overflow: hidden; }
	#about-us-section .about-us-section__img-container { position: relative; }
	#about-us-section .about-us-section__img-container:after { position: absolute; content: ''; background-color: #55cccb; top: -70px; right: 0; width: calc(100% - 70px); height: 70px; }
	#about-us-section .about-us-section__content { position: relative; z-index: 1; }
	#about-us-section .about-us-section__content:before { content: ''; width: 550px; height: 370px; position: absolute; top: -70px; right: calc(100% - 225px); background: url('../images/dotted-style.svg'); z-index: -1; }

	#traffic-or-lead-section { background: #0b0f1b url('../images/traffic-or-lead-section-bg.jpg') top center no-repeat; background-size: cover; min-height: 100vh; display: flex; flex-direction: column; }
	#traffic-or-lead-section .traffic-or-lead__container { min-height: 50vh; max-width: 950px; padding: 0 15px; display: flex; align-items: flex-end; margin-bottom: 80px; }
	#traffic-or-lead-section:after { content: ''; flex: 1; background: url('../images/traffic-or-lead-globe.png') top center no-repeat; background-size: cover; }
	#traffic-or-lead-section .traffic-or-lead__logo { margin-bottom: 20px; }

	#publishers-and-compliance-section { background: #050810; position: relative; }
	#publishers-and-compliance-section-particles-js { position: absolute; width: 100%; height: 60%; left: 0; top: 20%; }

	#publishers-section { padding: 175px 0; display: flex; justify-content: center; }
	#publishers-section .publishers-section__container { display: flex; flex-direction: row-reverse; flex-wrap: wrap; align-items: center; justify-content: space-between; }
	#publishers-section .publishers-section__img-container { flex: 1; margin-left: -30px; position: relative; z-index: 1; }
	#publishers-section .publishers-section__img-container:before { content: ''; width: 550px; height: 370px; position: absolute; top: -50px; left: -50px; background: url('../images/dotted-style.svg'); z-index: -1; }
	#publishers-section .publishers-section__content { max-width: 460px; position: relative; z-index: 1; }
	#publishers-section .publishers-section__content p { max-width: 80%; }

	#compliance-section { padding: 150px 0; position: relative; z-index: 2; }
	#compliance-section .compliance-section__img-container { margin-right: 85px; position: relative; z-index: 1; width: 100%; }
	#compliance-section .compliance-section__img-container:before { position: absolute; content: ''; background-color: #55cccb; top: -60px; left: 0; width: calc(100% - 70px); height: 60px; }
	#compliance-section .compliance-section__img-container:after { content: ''; width: 550px; height: 370px; position: absolute; bottom: -50px; right: -50px; background: url('../images/dotted-style.svg'); z-index: -1; }
	#compliance-section .compliance-section__content .compliance-section__source { margin-top: 100px; font-size: 11px; color: #444959; }
	#compliance-section .compliance-section__content .compliance-section__source a { color: #444959; }
	#compliance-section .compliance-section__content .compliance-section__source a:hover { color: #55cccb; }
	#compliance-section:after { content: ''; display: block; width: 338px; height: 790px; background: url('../images/compliance-style.svg') bottom right no-repeat; position: absolute; right: 0; bottom: -50px; }

	#team-section { padding: 170px 0; background: #0b0f1b; position: relative; z-index: 1; }
	#team-section:before { content: ''; display: block; width: 400px; height: 800px; position: absolute; bottom: 0; right: 0; background: url('../images/team-section-globe.jpg') right bottom no-repeat; z-index: -1; }
	#team-section .team-section__container { max-width: 1120px; position: relative; }
	#team-section-particles-js { position: absolute; height: calc(100% + 340px); width: 40%; right: 100%; top: -170px; }
	#team-section .section-content h3 { font-size: 24px; }
	#team-profiles { margin-top: 80px; }
	#team-profiles .team-profile { display: flex; margin-bottom: 40px; align-items: flex-start; }
	#team-profiles .team-profile__img { max-width: 180px; border: 1px solid #55cccb; margin-right: 55px; overflow: hidden; position: relative; }
	#team-profiles .team-profile__img:after { content: ''; width: 97px; height: 102px; background: url('../images/a-logo.svg') center no-repeat; background-size: 100% auto; position: absolute; right: -30px; bottom: -20px; }
	#team-profiles .team-profile__content { flex: 1; }
	#team-profiles .team-profile__content h3 { font-size: 32px; color: #55cccb; }
	#team-profiles .team-profile__content p { color: #a2abc4; font-size: 18px; line-height: 1.8; }

	#footer { background-color: #050810; position: relative; z-index: 1; }
	#footer:before { content: ''; display: block; background-color: #0b0f1b; position: absolute; top: 0; left: 0; height: 100%; width: calc(50% - 95px); z-index: -1; }
	#footer:after { content: ''; display: block; height: 100%; width: 80px; background: url('../images/dotted-style.svg'); position: absolute; top: -25px; left: calc(50% - 120px); }
	#footer .footer__container { position: relative; }
	#footer-particles-js { position: absolute; height: calc(100% + 155px); width: 30%; right: 100%; top: -115px; }
	#get-in-touch-section { padding: 115px 0 40px; }
	#get-in-touch-section:before { content: ''; display: block; width: 277px; height: 936px; background: url('../images/footer-style.svg') left bottom no-repeat; position: absolute; bottom: 0; left: 0; }
	#get-in-touch-section .get-in-touch-section__contact-info { padding-right: 150px; }
	#get-in-touch-section .get-in-touch-section__contact-info h3 { font-size: 24px; }
	#get-in-touch-section .get-in-touch-section__contact-details { padding: 0; margin: 40px 0 0; letter-spacing: normal; }
	#get-in-touch-section .get-in-touch-section__contact-details li { margin-bottom: 20px; font-size: 15px; font-weight: bold; display: flex; align-items: center; }
	#get-in-touch-section .get-in-touch-section__contact-details li img { margin-right: 12px; }
	#get-in-touch-section .get-in-touch-section__contact-details li a { color: #fff; }
	#get-in-touch-section .get-in-touch-section__form h3 { color: #fff; text-transform: uppercase; font-size: 15px; margin-bottom: 35px; }
	#get-in-touch-section .get-in-touch-section__form-footer { display: flex; align-items: flex-start; }
	#get-in-touch-section .get-in-touch-section__form-footer p { flex: 1; margin-left: 30px; font-size: 14px; color: #727888; }

	#colophon { padding: 240px 0 0; }
	#colophon p { font-size: 15px; color: #858585; margin-bottom: 0; margin-top: 10px; }

	/* MEDIA QUERIES */
	@media (max-width: 1780px) {

		#team-section:before { width: 300px; background-size: 100% auto; }

		#get-in-touch-section:before { width: 160px; background-size: 100% auto; }

	}

	@media (max-width: 1590px) {

		#masthead-content h2 { font-size: 80px; }
		#masthead-content p { font-size: 20px; }

		#publishers-section .publishers-section__container { padding: 0 15px; }

		#compliance-section:after { width: 250px; background-size: 100% auto; }

		#team-section:before { width: 250px; }

		#get-in-touch-section:before { width: 100px; }

	}

	@media (max-width: 1440px) {

		#publishers-section { padding-bottom: 0; }

		#compliance-section:after { width: 150px; }

		#team-section:before { width: 190px; }

		#get-in-touch-section:before { width: 40px; }

	}

	@media (max-width: 1024px) {

		.section-content h2 { font-size: 46px; }
		.section-content h3 { font-size: 24px; }
		.section-content p { font-size: 15px; }

		#masthead-content h2 { font-size: 60px; }
		#masthead-content p { font-size: 18px; }
		#masthead a.page-scroll-btn { width: 30px; height: 45px; margin-bottom: 30px; }
		#masthead a.page-scroll-btn:after { width: 4px; height: 8px; }

		#publishers-section { padding-top: 100px; }

		#compliance-section { padding: 60px 0; }

		#team-profiles .team-profile__img { margin-right: 30px; }

		#team-section { padding: 100px 0 350px; }
		#team-section:before { width: 374px; height: 322px; background: url('../images/team-section-globe-mobile.jpg') bottom right no-repeat; background-size: 100% auto; max-width: 100%; }
		#team-section .team-section__container { position: static; }
		#team-section-particles-js { height: 80%; width: 100%; right: 0; top: 0; }
		#team-profiles .team-profile__content p { font-size: 15px; }

		#colophon { padding-top: 100px; }

	}

	@media (max-width: 768px) {

		.half-section { flex-direction: column; }
		.half-section.half-section--reverse { flex-direction: column; }
		.half-section__col { max-width: none; padding: 0 15px; }
		.half-section__col--end { margin-right: 0; }
		.half-section__content { max-width: none; }
		.section-content h2 { font-size: 34px; }

		#main-header .site-logo { max-width: 200px; }
		#masthead-content h2 { font-size: 44px; }
		#masthead a.page-scroll-btn { opacity: 0; }

		#about-us-section { padding: 50px 0; }
		#about-us-section .about-us-section__img-container { margin-bottom: 25px; }
		#about-us-section .about-us-section__img-container:after { height: 30px; top: -30px; width: calc(100% - 30px); }
		#about-us-section .about-us-section__content { padding: 0; text-align: center; }
		#about-us-section .about-us-section__content:before { display: none; }

		#traffic-or-lead-section { display: block; min-height: auto; padding-top: 20px; }
		#traffic-or-lead-section:after { height: 310px; display: block; margin-top: 30px; }
		#traffic-or-lead-section .traffic-or-lead__container { margin-bottom: 0; min-height: auto; max-width: 415px; }

		#publishers-section .publishers-section__container { display: block; }
		#publishers-section .publishers-section__img-container:before { left: -15px; top: -25px; width: 40%; height: 40%; }
		#publishers-section .publishers-section__img-container { margin-left: 0; margin-bottom: 25px; }
		#publishers-section .publishers-section__content { max-width: none; text-align: center; }
		#publishers-section .publishers-section__content p { max-width: none; }

		#compliance-section { padding: 30px 0; }
		#compliance-section:after { width: 95px; background-size: auto; background-position: bottom left; }
		#compliance-section .compliance-section__img-container { margin-bottom: 30px; margin-right: 0; }
		#compliance-section .compliance-section__img-container:before { height: 30px; width: calc(100% - 30px); top: -30px; }
		#compliance-section .compliance-section__img-container:after { display: none; }
		#compliance-section .compliance-section__content { text-align: center; }
		#compliance-section .compliance-section__content .compliance-section__source { margin-top: 15px; }

		#team-section { padding-top: 65px; }
		#team-section .section-content h3 { font-size: 15px; }
		#team-profiles { margin-top: 20px; }
		#team-profiles .team-profile { display: block; margin-bottom: 30px; text-align: center; }
		#team-profiles .team-profile__img { margin: 0 auto 20px; }

		#footer:before { content: none; }
		#footer:after { content: none; }
		#get-in-touch-section { padding: 0; }
		#get-in-touch-section:before { content: none; }
		#get-in-touch-section .get-in-touch-section__contact-info { padding: 60px 15px; background: #0b0f1b; margin-left: -15px; margin-right: -15px; text-align: center; position: relative; }
		#get-in-touch-section .get-in-touch-section__contact-info:before { content: ''; display: block; height: 340px; width: 100%; position: absolute; bottom: 0; left: 0; background: url('../images/footer-style.svg') top left no-repeat; background-size: 45% auto; }
		#footer-particles-js { right: 0; width: 40%; height: 100%; top: 0; }
		#get-in-touch-section .get-in-touch-section__contact-info h2 { font-size: 42px; }
		#get-in-touch-section .get-in-touch-section__contact-info h3 { font-size: 15px; }
		#get-in-touch-section .get-in-touch-section__contact-details li { display: block; font-size: 20px; }
		#get-in-touch-section .get-in-touch-section__contact-details li span { display: block; }
		#get-in-touch-section .get-in-touch-section__contact-details li img { display: block; margin: 0 auto; width: 56px; margin-bottom: 10px; }
		#get-in-touch-section .get-in-touch-section__form { padding: 50px 0; text-align: center; }
		#get-in-touch-section .get-in-touch-section__form-footer { display: block; }
		#get-in-touch-section .get-in-touch-section__form-footer p { margin: 15px 0 0; }
		#colophon { padding-top: 0; padding-bottom: 70px; text-align: center; }
		#colophon p { font-size: 12px; margin-top: 30px; }

	}

	@media (max-width: 560px) {

		#get-in-touch-section .get-in-touch-section__contact-info:before { background-size: 40%; }

	}


/* ==========================================================================
   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;
  }
}

