@media only screen and (max-width : 720px) {
	#wpadminbar {
		top: -46px;
	}
	.admin-bar header {
		top:0;
	}

	html {
		margin:0 !important;
	}
	body {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		padding-top:50px;
	}
	body .mobile-hidden {
		display:none !important;
	}
	body .desktop-hidden {
		display: block !important;
	}
	
	body > header {
		padding:0 25px;
	}
	header .row,
	header .grid {
		padding: 0 !important;
		margin: 0 !important;
	}

	.topbar .menu-menu-superiore-container {
		display:none;
	}
	.topbar .searchform {
		position: absolute;
		left: 0;
		top: 20px;
		font-size: 1.6rem;
	}
	.topbar .searchform #s {
		padding-left:1.8em;
	}
	.the-content .searchform label {
		display:none;
	}
	.the-content .searchform #s {
		flex-grow:2;
		width:50%;
	}
	
	.site-name > a {
		font-size:2.2rem;
		margin: 0 0 .5em;
	}
	
	#mobile-menu-switcher {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		font-size: 1.5rem;
		padding: 20px;
	}
	#mobile-menu-switcher-close {
		position: absolute;
		top: 0;
		right: 0;
		font-size: 1.5rem;
		padding: 20px;
	}
	/*
	#mobile-menu-switcher-close {
		display:block;
	}
	.nav-container:hover + #mobile-menu-switcher-close {
		right: 25px;
	}
	*/
	
	.navbar-container {
		position: fixed;
		top: 0;
		right: 0;
		width: 100vw;
		height: 0;
	}
	.menu-container {
		padding: 0;
		border: 0;
		width: 100%;
	}
	.navbar-container .navbar-padding {
		position: absolute;
		top: 0;
		right:-100vw;
		left:auto;
		padding: 20px;
		width: 100%;
		height: 100vh !important;
		overflow:auto;
		background: var(--white);
		transition:right .3s ease-in-out;
	}
	.navbar-container:target .navbar-padding {
		right:0;
	}
	.main-menu-container ul.main-menu > li {
		display: block;
		width: 100%;
	}
	.navbar-container .menu-footer-container {
		text-align: center;
		padding-bottom: 20px;
	}
	
	.menu-container .searchform {
		position: relative;
		transform: none;
	}
	
	.most-popular,
	.latest-videos {
		padding:10px;
	}
	.latest-videos h2 {
		margin-top: -.1em;
	}

	
	section#contents {
		padding:0 10px;
	}
	
	.wp-block-columns {
		display: block !important;
	}
	
	input, select, textarea {
		margin:10px 0;
	}
	
	h1 {
		font-size:2.7rem;
	}
	h2 {
		font-size:1.5rem;
	}
	h3 {
		font-size:1.4rem;
	}
	h4 {
		font-size:1.3rem;
	}
	blockquote {
		padding: 0;
		margin: 60px 0;
	}
	blockquote::before {
		position: relative;
		left: 0;
		top: 0;
		text-align: center;
		display: block;
		line-height: 1rem;
	}
	cite {
		font-size: 1rem;
	}
	iframe {
		height: 300px;
	}
	
	table td {
		padding:5px;
	}

	input[type="submit"], input[type="button"], a.button, button,
	button.border, a.button.border {
		min-width:0;
		padding:15px;
	}
	.wpcf7-form .contact-form, .demo-download .form {
		padding:0 15px;
	}
	.contact-form small,
	.demo-download small {
		display:block;
		line-height:1;
		margin:0;
	}
	
	section.page-content {
		font-size: .9rem;
		line-height:1.5;
	}
	
	/* blocks */
	.wp-block-column {
		margin: 0 5px;
	}

	#cookie-law-info-bar {
		z-index: 1200;
		line-height: 1;
	}
	#cookie_action_close_header {
		padding: 20px 30px;
		font-size: 1.2rem;
	}
	
	/* home */
	.home #contents > .wp-block-columns:first-of-type {
		margin-top: 0 !important;
		border-top: none !important;
	}
	.home #contents > .wp-block-columns:first-of-type .wp-block-column:nth-child(2) .wp-block-channeldraw-load-posts {
		margin-top: 0 !important;
		border: 0 !important;
	}

	.recent-tweets {
		padding: 30px 0;
	}	
	.latest-videos .wp-block-columns {
		display: flex !important;
	}
	.latest-videos .wp-block-columns .wp-block-column {
		flex-basis: 30% !important;
	}
	.latest-videos > .wp-block-columns:first-of-type > .wp-block-column {
		flex-basis: 100% !important;
	}
	article.video .post-thumbnail a::after {
		font-size: 2rem;
	}


	section.page-title {
		text-align:center;
	}
	section.page-title .category {
		position: relative;
		top: .7em;
		left:auto;
		background: var(--white);
		padding: 0;
		font-family: Norwester;
		font-size: 1rem;
		display: inline-block;
		margin: 0 auto;
		text-align: center;
		white-space:nowrap;
		max-width:100%;
		text-overflow:ellipsis;
		transform:none;
	}
	.archive-title h1 {
		font-size: 1.4rem;
	}
	.blog-content {
		margin-top: 20px !important;
	}
	
	.wp-block-channeldraw-category h2 {
		position: relative;
		height: auto;
		margin-bottom: 20px;
		border-bottom: 0;
		text-align: center;
		border-top: 3px solid #000;
		padding-top: 10px;
	}
	.wp-block-channeldraw-category h2 span {
		display: block;
		background: #fff;
	}
	
	.wp-block-group.book-header {
		padding: 10px;
		margin-top: 80px;
	}
	.wp-block-group.book-header .wp-block-columns.has-background,
	.wp-block-group.book-header .wp-block-image {
		padding: 0px !important;
		background: transparent;
	}
	.wp-block-group.book-header .wp-block-column:first-child img {
		max-height: 200px;
		width: auto;
		height: auto;
		max-width: 100%;
	}
	.wp-block-group.book-header .wp-block-column:first-child figure {
		margin-bottom: 30px;
		margin-top: -60px;
	}

	.wp-block-gallery.is-slideshow .arrow_prev,
	.wp-block-gallery.is-slideshow .arrow_next {
		display:none;
	}
	.wp-block-gallery.is-slideshow {
		width: calc(100% + 40px);
		max-width: 200%;
		left: -20px;
		background: var(--xlight-grey);
		padding: 20px 0 0 0;
	}
	.wp-block-gallery.is-slideshow .paging .current {
		background:var(--red) !important;
	}
	
	footer {
		margin-bottom:30px;
		padding:10px;
	}
	footer .footer-menu-container {
		display:none;
	}
	footer section:last-of-type ul {
		text-align: center;
	}
}
/* Keep the weekly most-visited cards aligned on phones. */
@media only screen and (max-width: 720px) {
	.most-liked .wp-block-columns {
		display: block !important;
		width: 100% !important;
	}
	.most-liked .wp-block-column {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.most-liked article,
	.most-liked figure {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.most-liked .post-thumbnail img {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
}
/* Let mobile thumbnails use their natural height so titles stay below them. */
@media only screen and (max-width: 720px) {
	.most-liked figure.post-thumbnail {
		height: auto !important;
		padding-bottom: 0 !important;
		margin-bottom: 12px !important;
		overflow: visible !important;
	}
	.most-liked figure.post-thumbnail img {
		position: static !important;
		inset: auto !important;
		height: auto !important;
	}
	.most-liked article {
		margin-bottom: 28px !important;
	}
}
/* Fit the Facebook page plugin inside narrow mobile sidebars. */
@media only screen and (max-width: 720px) {
	.sidebar .recent-tweets {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}
	.sidebar .recent-tweets iframe[src*="facebook.com/plugins/page"] {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
	}
}
