/*
	(c)2021 - visuallizard.com

	Responsive styles using Media Queries
*/



/* Larger Desktop sizes (more than 1400px): */
@media only screen and (min-width: 1400px) {
	body:before { content: 'x-large'; }

}

/* Desktop sizes (up to 1400px): */
@media only screen and (max-width: 1400px) {
	body:before { content: 'large'; }

}

/* Medium Tablet sizes (up to 800px):  usually when mobile nav mode kicks in */
@media only screen and (max-width: 800px) {
	body:before { content: 'medium'; }


	/* 	Site Header */
	.site-header { padding: 0; }
	.site-title { margin-top: 1rem; }
	.site-title-img { max-height: 80px; }

	.search-form { float: none; margin: 1rem; display: none; }

	/* MOBILE nav */
	.main-nav { z-index: 100; background: #123; color: #fff; font-size: 18px; box-shadow: none; }
	.main-nav .nav-list,
	.main-nav li > .sub-list { width: 100%; max-height: 9999px; transform: scale(1); transition: max-height .2s ease-in; background: transparent; margin: 0 0 1rem; padding: 0; position: relative; top: auto; left: auto; opacity: 1; visibility: visible; border: none; box-shadow: none; }
	.main-nav .nav-item { border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-wrap: wrap; overflow: hidden; }
	.main-nav .nav-link, .main-nav .nav-1 > .nav-item > .nav-link { -webkit-tap-highlight-color: transparent; width: 100%; border: none; padding-right: 0; }
	.main-nav .nav-link:hover { opacity: .8; }
	.main-nav .nav-item:hover > .nav-link { color: inherit; border: none; }

	.main-nav .nav-1 > .nav-item[data-nav-status="has-active"] > .nav-link,
	.main-nav .nav-1 > .nav-item[data-nav-status="active"] > .nav-link,
	.main-nav .nav-1 > .nav-item:hover > .nav-link { color: rgba(255,255,255,.5); }

	.main-nav .nav-1 { display: block; }
	.main-nav .nav-1 li a { font-size: 16px; color: #fff; padding: .5rem .5rem; }
	.main-nav .nav-1 > li > a {  font-weight: bold; color: #fff; text-align: left; }

	.main-nav .has-sub > .nav-link::after { content: none; }

	.main-nav .sub-list .sub-list { left: auto; display: block; visibility: visible; opacity: 1; transform: scale(1); left: auto; position: static; top: auto; margin: 0; padding: 0; }

	.main-nav .nav-2 { /* text-align: center;  */}
	.main-nav .nav-2 > li { padding: 0; position: relative; }
	.main-nav .nav-2 li a { border-bottom: none; }

	.main-nav li > .nav-3 > li { padding-left: 1.5em; }
	.main-nav li > .nav-4 > li { padding-left: 2.5em; }
	.main-nav li > .nav-5 {  }

	.js         .main-nav { max-height: 100vh; display: block; position: absolute; left: -100%; left: -100vw; top: 0px; width: 100%; width: 100vw; height: auto; min-height: 100vh; padding: 4em 10px 10px; margin: 0; overflow: hidden; transition: transform .2s ease-in;  z-index: 1000; }
	.js .nav-on .main-nav { max-height: none; transform: translateX(100%); }

	.nav-toggle {
        display: block;
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 32px; height: 32px;
        min-width: 0; margin: 1rem 0;
        padding: 0; border: none;
        z-index: 1001; background: transparent;
        color: inherit; transition: color .2s;
        flex-shrink: 0;
    }
	.js .nav-on .nav-toggle,
	.js .nav-on .nav-toggle:hover { color: #fff; }

	.js .nav-on main,
	.js .nav-on .site-footer { max-height: 0; overflow: hidden; /* hide content when navigation is open */ }


	/* 	Featured banners */
	.slick-dots { bottom: 0; }
	.banner-container { padding: 2% 4%; }



	/* 	General styles */

	.cke > .c2,
	.cke > .c3,
	.cke > .c4,
	.cke > .c5,
	.cke > .c6 { float: none; margin-left: 0; width: auto; }

	.region-row { display: block; }
	.region-cell { padding: 0; }

	.flex { display: block; }
	.flex > div + div { margin: 0 0 1em 0; }

	table { font-size: 12px; }

	/* Forms */
	.fm-form [type="url"],
	.fm-form [type="tel"],
	.fm-form [type="text"],
	.fm-form [type="date"],
	.fm-form [type="email"],
	.fm-form [type="number"],
	.fm-form [type="password"],
	.fm-form select,
	.fm-form textarea { -webkit-appearance: none; }

	.fm-form [type="date"] {  min-height: 46px; }
	.fm-form [class^="input-"] { width: 100%; }

	.button { font-size: 1rem; min-width: 0; }
	.button.large { font-size: 100%;  margin-left: 0; margin-right: 0; }


	.pagination-links { font-size: 16px; }
	.pagination-links li:not([class]) { display: none; }

	.img-left,
	.img-right { float: none; margin-left: 0; margin-right: 0; }


	/* 	Modules */

	/* 	Toggles */
	.toggle { right: 1rem; top: .85rem; width: 1.5rem; height: 1.5rem; }
	.toggle-head {padding: .5rem 3rem .5rem 1rem; }
	.toggle-head > .toggle-title { font-size: 18px; }
	.is-toggle-on .toggle-details { padding-left: 1rem; padding-right: 1rem; }


	/* 	Documents */
	.document-item { width: 45%; }
}

/* Small Mobile sizes (up to 520px): */
@media only screen and (max-width: 520px) {
	body:before { content: 'small'; }

    h1, .h1 { font-size: calc(var(--fontsz)*3); }
    h2, .h2 { font-size: calc(var(--fontsz)*2); }
    h3, .h3 { font-size: calc(var(--fontsz)*1.5); }

    .site-header { min-height: 240px; }
    .site-header .banner { min-height: 240px; overflow: hidden; }
    img.banner-img { width: 280%; max-width: none; }
    .banner-title { font-size: 3.5rem; }
    .banner-subtitle { font-size: 2rem; }
    body.lizzie-quick .banner-text { flex: 0 0 100%; max-width: 100%; }
    body.lizzie-quick .banner-title { max-width: 140px; height: 140px; padding: 1rem; font-size: 2rem; }
    body.lizzie-quick .banner-subtitle { flex: 0 0 50%; max-width: 50%; font-size: 1.5rem; text-align: left; }

    .banner-block .book-list .book-frame { padding: 2rem 1rem; }
    .book-frame > figure { flex: 0 0 60%; max-width: 60%; margin: 0 auto; padding: 0.5rem; }
    .book-frame > div.description { flex: 0 0 100%; max-width: 100%; padding: 0.5rem; text-align: center; }
    .book-frame > div.description p { display: none; }
    .book-frame > h3.stamp { top: 0; left: 0; width: 100px; height: 100px; font-size: 1rem; }

    main > .container > section { padding: 1rem; }

    .cards .card { flex: 0 0 100%; max-width: 100%; }

    div.series-list > ul > li { flex: 0 0 49%; max-width: 49%; }
    article.book > section { flex: 0 0 100%; max-width: 100%; }
    article.book > figure { flex: 0 0 100%; max-width: 100%; }
    article.book > ul.purchase-options li { flex: 0 0 100%; max-width: 100%; }
    article.book p.stamp { position: absolute; bottom: -80px; right: 0; z-index: 1; font-size: 1rem; width: 100px; height: 100px; }

	/* 	News */
	.article-item  { width: 100%; }

	/* 	Events */
	.event-item { width: 100%; }

}
