/* Clearfix
   ========================================================================== */
header::after,
footer::after,
nav ul::after,
nav ol::after,
blockquote::after,
.container::after,
.paginator::after {
	content: "";
	display: table;
	clear: both;
}

/* ==========================================================================
   Styling and layout for screen media (mobile first)
   ========================================================================== */
@media screen {

	/**
   * Outer wrapper for main layouts.
   *
   * Example HTML:
   *
   * <div class="wrapper">
   *     <div class="container">
   *         Content
   *     </div>
   * </div>
   */
	.wrapper {
		padding: 0px;
		background: #ffffff;
		min-height: 50vh;
	}

	/**
   * Styling for articles.
   *
   * 1. Prevent really, really long words in article from breaking layout.
   */
	.article {
		margin-bottom: 2em;
		/* 1 */
		word-wrap: break-word;
	}

	/**
   * Styling for complementary content.
   *
   * Initially the sidebar appears under main content, it is then repositioned
   * with media queries at 2nd breakpoint.
   *
   * 1. Prevent really, really long words in article from breaking layout.
   */
	.complementary-content {
		word-wrap: break-word;
	}

	/**
   * Paginator (prev/next) navigation links on articles/article lists.
   *
   * Example HTML:
   *
   * <nav class="paginator">
   *     <a rel="prev">
   *     <a rel="next">
   */
	.paginator {
		clear: both;
	}

	.paginator [rel=prev] {
		float: left;
	}

	.paginator [rel=next] {
		float: right;
	}

	/* Typography
     ========================================================================== */
	/**
   * Consistent styling for `mark` and `var` tags.
   */
	mark,
	var {
		padding: 0 0.25em;
		border-radius: 0.25em;
		background: #fff9e1;
		color: #333333;
	}

	/**
   * Harmonize size and style of computer text.
   */
	pre,
	code,
	kbd,
	samp {
		border: 1px solid #e3e3e3;
		border-radius: 0.2857143em;
		background-color: #f7f7f7;
		color: #333333;
		font-family: Menlo, Consolas, Monaco, monospace;
		font-size: 0.875rem;
		line-height: 1.5;
	}

	code,
	kbd,
	samp {
		padding: 1px 0.21429em;
	}

	/**
   * Additional stylng for preformatted text/code.
   *
   * 1. Contain overflow in all browsers.
   * 2. Don't wrap long words.
   * 3. Set tab size to 4 spaces.
   */
	pre {
		padding: 0.5714286em 1.1428571em;
		/* 1 */
		overflow-x: auto;
		/* 2 */
		word-wrap: normal;
		/* 3 */
		-moz-tab-size: 4;
		-o-tab-size: 4;
		tab-size: 4;
	}

	pre code {
		padding: 0;
		border: 0;
		background-color: transparent;
		font-size: 1em;
		text-align: left;
		word-wrap: normal;
		word-break: normal;
		white-space: pre;
		word-spacing: normal;
		direction: ltr;
		-webkit-hyphens: none;
		-ms-hyphens: none;
		hyphens: none;
	}

	/**
   * Prevent `sub` and `sup` elements from affecting the line height in all
   * browsers.
   */
	sub,
	sup.footnote,
	sup {
		position: relative;
		font-size: 0.625em;
		line-height: 0;
		vertical-align: baseline;
	}

	sup {
		top: -0.5em;
	}

	sub {
		bottom: -0.25em;
	}

	/**
   * Harmonize size and style of small text.
   */
	.footnote {
		font-size: 0.8125em;
		line-height: 1.5;
	}

	figcaption,
	tfoot,
	.footnote {
		color: #585858;
	}

	figcaption {
		margin-top: 0.5em;
		font-style: italic;
	}

	/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
	hr {
		/* 1 */
		box-sizing: content-box;
		height: 24px;
		margin: 1em 0;
		/* 2 */
		overflow: visible;
		border: 0;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 24'%3E%3Cpath fill='%23333' d='M0,0c1.742,13.61,54.74,20.912,119.995,15.279C184.922,9.679,238.594,13.024,240,24c-1.744-13.613-54.742-20.913-120.005-15.284C55.078,14.32,1.405,10.973,0,0z'/%3E%3C/svg%3E") 50% 50% no-repeat;
		background-size: 240px 24px;
	}

	/* Support for non-latin languages (can be removed if not required)
     ========================================================================== */
	/**
   * Bidirectional (bidi) text support.
   * See: https://www.w3.org/International/articles/inline-bidi-markup/#cssshim
   */
	[dir=ltr],
	[dir=rtl] {
		unicode-bidi: -webkit-isolate;
		unicode-bidi: isolate;
	}

	bdo[dir=ltr],
	bdo[dir=rtl] {
		unicode-bidi: isolate-override;
	}

	/**
   * Preferred font for Japanese language.
   */
	:lang(ja) {
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Meiryo UI", sans-serif;
		font-weight: 300;
	}

	/**
   * Preferred font for Korean language.
   */
	:lang(ko) {
		font-family: GulimChe, Gulim, sans-serif;
	}

	/**
   * Preferred font for simplified Chinese (PRC) language.
   */
	:lang(zh-cn) {
		font-family: "PingFang SC", SimHei, sans-serif;
	}

	/**
   * Preferred font for traditional Chinese (Taiwan, Hong Kong) language.
   */
	:lang(zh-tw) {
		font-family: "PingFang TC", PMingLiU, sans-serif;
	}

	/**
   * Suppress `text-decoration` in some RTL languages for better legibility.
   */
	[lang|=ar] a:hover,
	[lang|=fa] a:hover,
	[lang|=ur] a:hover {
		text-decoration: none;
	}

	/**
   * Computer code should be LTR.
   */
	[dir=rtl] code {
		direction: ltr;
	}

	/**
   * Swap image alignment right/left positions in RTL languages.
   */
	[dir=rtl] img.align-left {
		margin: 1em 0 1em 1em;
		float: right;
	}

	[dir=rtl] img.align-right {
		margin: 1em 1em 1em 0;
		float: left;
	}

	/**
   * Swap table caption alignment in RTL languages.
   */
	[dir=rtl] caption {
		text-align: right;
	}

	/**
   * Swap table cell text alignments in RTL languages.
   */
	[dir=rtl] th,
	[dir=rtl] td {
		text-align: right;
	}

	/**
   * Swap menu/list padding positions in RTL languages.
   */
	[dir=rtl] menu,
	[dir=rtl] ol,
	[dir=rtl] ul {
		padding: 0 2em 0 0;
	}

	[dir=rtl] .site-navigation ul,
	[dir=rtl] .article-list {
		padding: 0;
	}

	/**
   * Swap definition description margin positions in RTL languages.
   */
	[dir=rtl] dd {
		margin: 0 2em 0 0;
	}

	/**
   * Swap checkbox/radio margin positions in RTL languages.
   */
	[dir=rtl] input[type=checkbox]+label,
	[dir=rtl] input[type=radio]+label {
		margin: 0 0 0 0.5em;
	}

	[dir=rtl] input[type=checkbox]+label:last-of-type,
	[dir=rtl] input[type=radio]+label:last-of-type {
		margin: 0;
	}

	/**
   * Swap paginator (prev/next) navigation links on articles/article lists.
   */
	[dir=rtl] .paginator [rel=prev] {
		float: right;
	}

	[dir=rtl] .paginator [rel=next] {
		float: left;
	}

	/**
   * Swap anchor float position on comments.
   */
	[dir=rtl] .comments h4 .comment-anchor {
		float: left;
	}

	/* Embedded content
     ========================================================================== */
	/**
   * Add the correct display in IE 11.
   */
	video {
		display: inline-block;
	}

	/**
   * Make embedded elements responsive.
   */
	img,
	video {
		max-width: 100%;
		height: auto;
	}

	/**
   * Images.
   *
   * 1. Remove the gap between images and the bottom of their containers.
   *
   * Image alignment (compatible with Textile markup syntax).
   *
   * Example HTML:
   *
   * <img class="align-left">
   * <img class="align-right">
   * <img class="align-center">
   */
	img {
		/* 1 */
		vertical-align: middle;
	}

	img.align-left {
		margin: 1em 1em 1em 0;
		float: left;
	}

	img.align-right {
		margin: 1em 0 1em 1em;
		float: right;
	}

	img.align-center {
		display: block;
		margin: 1em auto;
	}

	/**
   * Consistent margins on `figure`.
   */
	figure {
		margin: 1em 0;
	}

	/* Tables
     ========================================================================== */
	/**
   * Consistent tables.
   */
	table {
		width: 100%;
		margin-bottom: 1em;
		border-spacing: 0;
		border-collapse: collapse;
	}

	/**
   * Styling of table captions.
   */
	caption {
		margin-bottom: 0.5em;
		font-style: italic;
		text-align: left;
	}

	/**
   * Make table cells align top and left by default.
   */
	th,
	td {
		padding: 0.5em;
		border: 1px solid #d4d4d4;
		text-align: left;
		vertical-align: top;
	}

	/**
   * Emphasize table header.
   */
	thead tr {
		background-color: #eeeeee;
	}

	thead th,
	thead td {
		border: 1px solid #cccccc;
	}

	/**
   * 'Zebra striping' of `tbody` rows.
   */
	tbody tr:nth-child(even) {
		background-color: #f7f7f7;
	}

	/**
   * Adjust padding of table footer due to smaller font size.
   */
	tfoot th,
	tfoot td {
		padding: 0.6666667em;
	}

	/**
   * Multi-row span vertical cell alignments.
   */
	[rowspan] {
		vertical-align: middle;
	}

	/* Lists
     ========================================================================== */
	/**
   * Address paddings set differently.
   */
	menu,
	ol,
	ul {
		padding: 0 0 0 2em;
	}

	/**
   * Remove margins from nested lists.
   */
	li>ul,
	li>ol {
		margin: 0;
	}

	/**
   * CSS Lists and Counters Module Level 3 list marker styling.
   */
	li::marker {
		color: color-text-heading;
	}

	/**
   * Address margins set differently.
   */
	dd {
		margin: 0 0 0 2em;
	}

	/**
   * Additional styling for article lists.
   *
   * Example HTML:
   *
   * <ul class="article-list">
   */
	.article-list {
		margin: 0 0 2em;
		padding: 0;
		border-top: 1px solid #cccccc;
		list-style: none;
	}

	.article-list li {
		margin-bottom: 0;
		border-bottom: 1px solid #cccccc;
	}

	/* Popup comments (can be removed if you don't use popups)
     ========================================================================== */
	/**
   * Restrict maximum width of popup container.
   */
	#popup-page .container {
		max-width: 52em;
	}

  /*ARTICLE FOOTER*/
  .article-footer {
    padding: 2rem 0;
    margin-top: 5rem;
    font-size: 0.9rem;
    border-style: solid;
    border-color: #000;
    border-width: 1px 0 0 0;
  }
}

/* ==========================================================================
   Additional layout for screen media 576px and up
   ========================================================================== */
@media only screen and (min-width: 38em) {

	/**
   * Desktop version of the navigation menu. Overrides mobile first version.
   *
   * Example HTML:
   *
   * <nav class="site-navigation">
   *     <ul>
   *         <li class="active"><a></li>
   *         <li><a></li>
   *         <li><a></li>
   *     </ul>
   * </nav>
   */
	.site-navigation {
		border-top: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
	}

	.site-navigation>div {
		width: 88%;
	}

	.site-navigation li {
		float: left;
		border-right: 1px solid #cccccc;
		border-bottom: 0;
	}

	.site-navigation li:first-child {
		border-top: 0;
		border-left: 1px solid #cccccc;
	}

	[dir=rtl] .site-navigation li {
		float: right;
	}

	[dir=rtl] .site-navigation li:first-child {
		border-left: 0;
	}

	[dir=rtl] .site-navigation li:last-child {
		border-left: 1px solid #cccccc;
	}

	.site-navigation a {
		padding: 0.5em 1em;
	}

	.search {
		position: absolute;
		z-index: 2;
		top: 50%;
		right: 0;
		margin-top: -1.0625em;
		padding: 0;
		background: transparent;
	}

	[dir=rtl] .search {
		right: auto;
		left: 0;
	}

	.search input[type=search] {
		width: 2.125em;
		padding-right: 0;
		transition: width 0.2s ease-in-out, border-color 0.2s ease-in-out;
		background-color: #eeeeee;
		cursor: pointer;
	}

	.search input[type=search]:hover {
		background-color: #f8f8f8;
	}

	.search input[type=search]:focus {
		width: 16em;
		padding-right: 0.1875em;
		background-color: white;
		cursor: auto;
	}
}

/* ==========================================================================
   Styling and layout for print media
   ========================================================================== */
@media print {

	/**
   * Remove unnecessary global styling from printed media.
   */
	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: #000000 !important;
		text-shadow: none !important;
	}

	/**
   * Use a print-friendly font size.
   */
	html {
		font-size: 8pt;
		line-height: 1.5;
	}

	/**
   * Use a print-friendly font family.
   */
	body {
		margin: 0.5cm;
		padding: 2em 5em;
		font-family: "Helvetica Neue", sans-serif;
	}

	/**
   * Make sure links are not underlined.
   */
	a {
		text-decoration: none;
	}

	/**
   * Visually separate header from body.
   */
	.site-header {
		border-bottom: 1pt solid #000000;
	}

	/**
   * Visually separate footer from body.
   */
	.site-footer {
		margin-top: 12pt;
		border-top: 1pt solid #000000;
	}

	/**
   * Hide unnecessary content from print.
   */
	nav,
	audio,
	video,
	form,
	#comments-form,
	.comments h4 a:last-child,
	.complementary-content,
	.paginator {
		display: none;
	}

	/**
   * Show long-form for abbreviations in print.
   */
	abbr[title]::after {
		content: " ("attr(title) ")";
	}

	/**
   * Harmonize size, style and vertical margin of headings.
   */
	h1 {
		margin: 16pt 0;
		font-size: 32pt;
		font-weight: normal;
		line-height: 36pt;
		orphans: 4;
		widows: 4;
	}

	h2 {
		margin: 14pt 0;
		font-size: 24pt;
		line-height: 28pt;
		page-break-after: avoid;
		orphans: 4;
		widows: 4;
	}

	h3 {
		margin: 12pt 0;
		font-size: 18pt;
		line-height: 22pt;
		page-break-after: avoid;
		orphans: 4;
		widows: 4;
	}

	h4 {
		margin: 11pt 0;
		font-size: 14pt;
		line-height: 18pt;
		page-break-after: avoid;
		orphans: 2;
		widows: 2;
	}

	h5 {
		margin: 10pt 0;
		font-size: 12pt;
		line-height: 16pt;
		page-break-after: avoid;
		orphans: 2;
		widows: 2;
	}

	h6 {
		margin: 9pt 0;
		font-size: 10pt;
		line-height: 14pt;
		page-break-after: avoid;
		orphans: 2;
		widows: 2;
	}

	/**
   * Prevent widows (single final paragraph line on next page) and orphans (single
   * first paragraph line on previous page).
   */
	p {
		orphans: 2;
		widows: 2;
	}

	/**
   * Harmonize size and style of small text.
   */
	footer,
	figcaption,
	tfoot,
	small,
	.footnote {
		font-size: 6pt;
	}

	/**
   * Simple blockquote styling.
   *
   * 1. Avoid blockquotes breaking across multiple pages.
   */
	blockquote {
		padding: 0 0 0 8pt;
		border-left: 3pt solid #000000;
		font-size: 16pt;
		/* 1 */
		page-break-inside: avoid;
	}

	[dir=rtl] blockquote {
		padding: 0 8pt 0 0;
		border-right: 3pt solid #000000;
		border-left: 0;
	}

	/**
   * Simple preformatted text styling.
   *
   * 1. Ensure pre blocks are wrapped when printed.
   */
	pre {
		margin-bottom: 8pt;
		padding: 8pt;
		border: 1pt solid #000000;
		/* 1 */
		white-space: pre-wrap !important;
	}

	/**
   * Use a print-friendly monospaced font and size.
   */
	pre,
	code,
	kbd,
	samp,
	var {
		font-family: "Courier New", Courier, monospace;
	}

	/**
   * Images.
   *
   * 1. Avoid images breaking across multiple pages.
   *
   * Image alignment (compatible with Textile markup syntax).
   *
   * Example HTML:
   *
   * <img class="align-left">
   * <img class="align-right">
   * <img class="align-center">
   */
	img {
		/* 1 */
		page-break-inside: avoid;
	}

	img.align-left {
		margin: 1em 1em 1em 0;
		float: left;
	}

	img.align-right {
		margin: 1em 0 1em 1em;
		float: right;
	}

	img.align-center {
		display: block;
		margin: 1em auto;
	}

	/**
   * Swap image alignment right/left positions in RTL languages.
   */
	[dir=rtl] img.align-left {
		margin: 1em 0 1em 1em;
		float: right;
	}

	[dir=rtl] img.align-right {
		margin: 1em 1em 1em 0;
		float: left;
	}

	/**
   * Ensure margin below `figure`.
   */
	figure {
		margin-bottom: 8pt;
	}

	/**
   * Ensure margin above `figcaption`.
   */
	figcaption {
		margin-top: 4pt;
	}

	/**
   * Simple bullet styling for `ul` unordered lists.
   */
	ul {
		padding: 0 0 8pt 1.8em;
		list-style: square;
	}

	[dir=rtl] ul {
		padding: 0 1.8em 8pt 0;
	}

	/**
   * Simple numerical styling for `ol` ordered lists.
   */
	ol {
		padding: 0 0 8pt 1.8em;
		list-style: decimal;
	}

	[dir=rtl] ol {
		padding: 0 1.8em 8pt 0;
	}

	/**
   * Normalize margins on `dl` definition lists.
   */
	dl {
		padding: 0 0 8pt 1.8em;
	}

	[dir=rtl] dl {
		padding: 0 1.8em 8pt 0;
	}

	/**
   * 1. Make `table` span entire page width.
   * 2. Ensure margin below `table`.
   */
	table {
		/* 1 */
		width: 100%;
		/* 2 */
		margin-bottom: 8pt;
	}

	/**
   * Harmonize styling for `caption`.
   */
	caption {
		margin-bottom: 4pt;
		font-weight: bold;
	}

	/**
   * Avoid table rows breaking across multiple pages.
   */
	tr {
		page-break-inside: avoid;
	}

	/**
   * Simple styling for table cells.
   */
	th,
	td {
		padding: 4pt 8pt;
		border-bottom: 1pt solid #000000;
	}

	/**
   * Display table head across multi-page tables.
   */
	thead {
		display: table-header-group;
	}

	thead th {
		border-top: 1pt solid #000000;
	}

	/**
   * Avoid user comments breaking across multiple pages.
   */
	.comments {
		page-break-inside: avoid;
	}
}

/* NAV LAYOUT FOR STANDALONE BLOGS */
.blog-nav-container {
  position: sticky;
  top: 0;
  margin: 0 0 45px;
  background-color: #eee;
}

.blog-nav-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 25px 0.75rem;
}

.blog-nav-top .blog-nav-logo {
  flex: auto 0 0;
}

.blog-nav-top .blog-nav-links {
  flex: 1 0 0;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .blog-nav-top .blog-nav-links {
    position: fixed;
    z-index: 100;
    right: -100vw;
    width: auto;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 30px;
    top: 0;
    height: 100vh;
    background-color: #fff;
    transition: right 0.3s;
  }

  .blog-nav-top .blog-nav-links.show-mobile {
    right: 0;
    background-color: #8a357a;
  }

  .blog-nav-top .search-input {
    margin-top: 10px;
  }
}

.blog-nav-top .search-input {
  margin-top: 5px;
}

.blog-nav-top .blog-nav-links a {
  font-size: 16px;
  margin-top: 5px;
  margin-bottom: 5px;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .blog-nav-top .blog-nav-links a {
    font-size: 14px;
  }
}

@media screen and (min-width: 992px) {
  .blog-nav-top .blog-nav-links a {
    font-size: 16px;
  }
}

.blog-nav-top .blog-nav-links a:not(:first-child) {
  margin-left: 10px;
}

.blog-nav-toggle {
  min-width: auto !important;
}

.svg-inline--fa {
  display: inline-block;
  height: 2em;
  overflow: visible;
  vertical-align: -0.125em;
}

.breadcrumb {
  flex-direction: row !important;
}

.breadcrumb-item:first-child {
  display: inline-block !important;
}

.breadcrumb-item a {
  color: #8a357a !important;
}

.breadcrumb-item:not(:last-child)::after {
  color: #8a357a !important;
}