/*
Theme Name: Schach Theme
Theme URI: http://www.strehlma.de/
Description: A new theme for the SC Heek 1947 e.V. chessclub.
Version: 1.0
Author: Mario Strehlow
Author URI: http://www.strehlma.de/
Tags: green, fixed width, two columns, widgets
*/



/* Begin Responsive Reset */
* {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}
/* End Responsive Reset */

/* Begin Typography & Colors */
body {
	background-color:#333333;
	background-image:url('images/bg-body.gif');
	background-repeat:repeat-x;
	color:#FFFFFF;
	font-family:Futura,'Trebuchet MS',sans-serif;
	font-size:11px;
	margin:0;
	padding:0;
}

/* Begin Navigation Area */	
#navi {
	background-image: url('images/bg-navi.gif');
	background-repeat: repeat-x;
    background-color: #000000;
	min-height: 29px;
	text-align: center;
}

#navi-box {
	min-height: 29px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 757px;
}

#navi-box ul {
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	margin: 0;
	padding: 5px 9px 0;
}

#navi-box ul li {
	display: inline;
	margin: 0 0 0 4px;
	padding: 0;
}

#navi-box ul li a {
	color: #777777;
	font-family:Futura,'Trebuchet MS',sans-serif;
	font-weight: normal;
	font-size: 12px;
	padding: 2px 0 2px 6px;
	text-decoration: none;
	text-transform: uppercase;
}

#navi-box ul li a span {
	padding: 2px 6px 2px 0;
}

#navi-box ul li a:hover span, #navi-box ul li.current_page_item > a > span {
	color: #FFFFFF;
	text-decoration: none;
	padding: 2px 6px 2px 0;
}

/* End Navigation Area */	

/* Begin Subnavigation Area */	
#sub-navi {
	background-image: url('images/bg-navi.gif');
	background-repeat: repeat-x;
    background-color: #000000;
	margin: -10px 0 10px 0;
	min-height: 29px;
	text-align: center;
}

#sub-navi-box {
	min-height: 29px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	width: 757px;
}

#sub-navi-box ul {
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	margin: 0;
	padding: 5px 9px 0;
}

#sub-navi-box ul li {
	display: inline;
	margin: 0 0 0 4px;
	padding: 0;
}

#sub-navi-box ul li a {
	color: #777777;
	font-family:Futura,'Trebuchet MS',sans-serif;
	font-weight: normal;
	font-size: 12px;
	padding: 2px 6px 2px 6px;
	text-decoration: none;
	text-transform: uppercase;
}

#sub-navi-box ul li a span {
	padding: 2px 6px 2px 0;
}

#sub-navi-box ul li a:hover, #sub-navi-box ul li.current-cat a  {
	color: #FFFFFF;
	text-decoration: none;
	padding: 2px 6px 2px 6px;
}
/* End Subnavigation Area */	

/* Begin Title Area */	
#title {
	background-image: url('images/bg-title.gif');
	background-repeat: repeat-x;
	height: 196px;
	text-align: center;
}

#title-box {
	background-image: url('images/schachtitle_eventbox.jpg');
	background-repeat: no-repeat;
	height: 196px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	width: 739px;
}

#event-box {
	color:#ffffff;
	float: right;
	margin-top: 75px;
	width: 395px;
}

#event-box h3 {
	margin: 5px 0 5px 10px;
}

#event-box ul h4 {
	margin: 4px 0 4px 0;
}

#event-box ul li {
	list-style-type: none;
	list-style-image: none;
}

#event-box ul li:before {
/*	content: "\00BB \0020";*/

}

#event-box a {
	color: #777777;
	text-decoration: none;
}

#event-box a:hover {
	color: #ffffff;
	text-decoration: underline;
}
/* End Title Area */	


/* Begin Header Area */	
#header {
	background-image: url('images/bg-header.gif');
	background-repeat: repeat-x;
	height: 129px;
	text-align: center;
}

#header-box {
	font-size: 0;
	height: 129px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	width: 739px;
}

#header-box img {
	border: 3px solid #FFFFFF;
}
/* End Header Area */	

/* Begin Main Area */	
#main {
	text-align: center;
}

#main-box {
	margin-left:auto;
	margin-right:auto;
	padding:10px 0 0;
	text-align:left;
	width:739px;
}
/* End Main Area */	

/* Begin Footer Area */	
#footer {
    background-color: #000000;
	margin-top:20px;
	text-align: center;
}

#footer-box {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	width: 757px;
}

#footer p {
	margin: 0;
	padding: 20px 0;
	text-align: center;
}
/* End Footer Area */	
#clear {
	clear: both;
	font-size: 0;
}

#intro {
	margin: 20px 0 -10px 0;
}

#intro-box {
	background-color: #1c3018;
	font-size: 0.9em;
	padding: 1px 15px 1px 15px;
}

#intro-box .entry li {
	margin: 0 0 0 10px;
}

#page {
	background-color: white;
	border: 1px solid #959596;
	text-align: left;
	}

#content {
	font-size: 1.2em
	}

.widecolumn .entry p {
	font-size: 1.05em;
	}

.narrowcolumn .entry, .widecolumn .entry {
	line-height: 1.4em;
	}

.widecolumn {
	line-height: 1.6em;
	}

.narrowcolumn .postmetadata {
	text-align: center;
	}

.thread-alt {
	background-color: #777777;
}
.thread-even {
	background-color: #999999;
}
.depth-1 {
border: 1px solid #ddd;
}

.even, .alt {
	border-left: 1px solid #ddd;
}


small {
/*	font-family: Arial, Helvetica, Sans-Serif;*/
	font-size: 0.9em;
	line-height: 1.5em;
	}

h1, h2, h3, h4, h5, h6 {
font-family:Georgia,'Times New Roman';
font-style:italic;
font-weight:normal;
letter-spacing:1px;
text-align: left;
}	
 
h1 {
	font-size: 4em;
	text-align: center;
	}

h2 {
	font-size: 1.6em;
	}

h2.pagetitle {
	font-size: 1.6em;
	}

#sidebar h2 {
/*	font-family: 'Lucida Grande', Verdana, Sans-Serif;*/
	font-family:Georgia,'Times New Roman';
	font-size: 1.2em;
	}

h3 {
	font-size: 1.3em;
	}

h1, h1 a, h1 a:hover, h1 a:visited {
	text-decoration: none;
	color: #ffffff;
	}

h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited {
	color: #ffffff;
	}

h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, #sidebar h2, #wp-calendar caption, cite {
	text-decoration: none;
	}

.entry p a:visited {
	color: #298f08;
	}

.commentlist li, #commentform input, #commentform textarea {
	font: 0.9em 'Lucida Grande', Verdana, Arial, Sans-Serif;
	}
.commentlist li ul li {
	font-size: 1em;
}

.commentlist li {
	font-weight: bold;
}

.commentlist li .avatar { 
	float: right;
	border: 1px solid #eee;
	padding: 2px;
	background: #fff;
	}

.commentlist cite, .commentlist cite a {
	font-weight: bold;
	font-style: normal;
	font-size: 1.1em;
	}

.commentlist p {
	font-weight: normal;
	line-height: 1.5em;
	text-transform: none;
	}

#commentform p {
	font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
	}

.commentmetadata {
	font-weight: normal;
	}

#sidebar {
	font: 1em 'Lucida Grande', Verdana, Arial, Sans-Serif;
	}

small, #sidebar ul ul li, #sidebar ul ol li, .nocomments, .postmetadata, blockquote, strike {
	color: #777;
	}

code {
	font: 1.1em 'Courier New', Courier, Fixed;
	}

acronym, abbr, span.caps
{
	font-size: 0.9em;
	letter-spacing: .07em;
	}

a, h2 a:hover, h3 a:hover {
	color: #298f08;
	text-decoration: none;
	}

a:hover {
	color: #ffffff;
	text-decoration: underline;
	}

#wp-calendar #prev a, #wp-calendar #next a {
	font-size: 9pt;
	}

#wp-calendar a {
	text-decoration: none;
	}

#wp-calendar caption {
	font: bold 1.3em 'Lucida Grande', Verdana, Arial, Sans-Serif;
	text-align: center;
	}

#wp-calendar th {
	font-style: normal;
	text-transform: capitalize;
	}
/* End Typography & Colors */



/* Begin Structure */
#page {
	background-color: white;
	margin: 20px auto;
	padding: 0;
	width: 760px;
	border: 1px solid #959596;
	}

.narrowcolumn {
background-image:url('images/dottedline2.png');
background-position: right;
background-repeat:repeat-y;
	float: left;
	padding: 0 10px 20px 10px;
	margin: 0px 0 0;
	width: 485px;
	}

.widecolumn {
	padding: 10px 0 20px 0;
	margin: 5px 0 0 10px;
	width: 719px;
	}

.post {
	margin: 0 0 40px;
	text-align: justify;
	}

.post hr {
	display: block;
	}

.widecolumn .post {
	margin: 0;
	}

.narrowcolumn .postmetadata {
	padding-top: 5px;
	}

.widecolumn .postmetadata {
	margin: 30px 0;
	}

.widecolumn .smallattachment {
	text-align: center;
	float: left;
	width: 128px;
	margin: 5px 5px 5px 0px;
}

.widecolumn .attachment {
	text-align: center;
	margin: 5px 0px;
}

.postmetadata {
	clear: both;
}

.clear {
	clear: both;
}

/* End Structure */



/*	Begin Headers */
h1 {
	padding-top: 70px;
	margin: 0;
	}

h2 {
	margin: 30px 0 0;
	}

h2.pagetitle {
	margin-top: 30px;
	text-align: center;
}

#sidebar h2 {
	margin: 5px 0 0;
	padding: 0;
	}

h3 {
	padding: 0;
	margin: 30px 0 0;
	}

h3.comments {
	padding: 0;
	margin: 40px auto 20px ;
	}
/* End Headers */



/* Begin Images */
p img {
	padding: 0;
	max-width: 100%;
	}

/*	Using 'class="alignright"' on an image will (who would've
	thought?!) align the image to the right. And using 'class="centered',
	will of course center the image. This is much better than using
	align="center", being much more futureproof (and valid) */

img.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
	}

img.alignright {
	padding: 4px;
	margin: 0 0 2px 7px;
	display: inline;
	}

img.alignleft {
	padding: 4px;
	margin: 0 7px 2px 0;
	display: inline;
	}

.alignright {
	float: right;
	}

.alignleft {
	float: left
	}
/* End Images */



/* Begin Lists

	Special stylized non-IE bullets
	Do not work in Internet Explorer, which merely default to normal bullets. */

html>body .entry ul {
	margin-left: 0px;
	padding: 0 0 0 30px;
	list-style: none;
	padding-left: 10px;
	text-indent: -10px;
	}

html>body .entry li {
	margin: 7px 0 8px 10px;
	}

.entry ul li:before, #sidebar ul ul li:before {
	content: "\00BB \0020";
	}

.entry ol {
	padding: 0 0 0 35px;
	margin: 0;
	}

.entry ol li {
	margin: 0;
	padding: 0;
	}

.postmetadata ul, .postmetadata li {
	display: inline;
	list-style-type: none;
	list-style-image: none;
	}

#sidebar ul, #sidebar ul ol {
	margin: 0;
	padding: 0;
	}

#sidebar ul li {
	list-style-type: none;
	list-style-image: none;
	margin-bottom: 15px;
	}

#sidebar ul p, #sidebar ul select {
	margin: 5px 0 8px;
	}

#sidebar ul ul, #sidebar ul ol {
	margin: 5px 0 0 10px;
	}

#sidebar ul ul ul, #sidebar ul ol {
	margin: 0 0 0 10px;
	}

ol li, #sidebar ul ol li {
	list-style: decimal outside;
	}

#sidebar ul ul li, #sidebar ul ol li {
	margin: 3px 0 0;
	padding: 0;
	}
/* End Entry Lists */



/* Begin Form Elements */
#searchform {
	margin: 10px auto;
	padding: 5px 3px;
	text-align: center;
	}

#sidebar #searchform #s {
	width: 100px;
	padding: 2px;
	}

#sidebar #searchsubmit {
	padding: 1px;
	}

.entry form { /* This is mainly for password protected posts, makes them look better. */
	text-align:center;
	}

select {
	width: 130px;
	}

#commentform input {
	width: 170px;
	padding: 2px;
	margin: 5px 5px 1px 0;
	}

#commentform {
	margin: 5px 10px 0 0;
	}
#commentform textarea {
	width: 100%;
	padding: 2px;
	}
#respond:after {
		content: "."; 
	    display: block; 
	    height: 0; 
	    clear: both; 
	    visibility: hidden;
	}
#commentform #submit {
	margin: 0 0 5px auto;
	float: right;
	}
/* End Form Elements */



/* Begin Comments*/
.alt {
	margin: 0;
	padding: 10px;
	}

.commentlist {
	padding: 0;
	text-align: justify;
	}

.commentlist li {
	margin: 15px 0 10px;
	padding: 5px 5px 10px 10px;
	list-style: none;

	}
.commentlist li ul li { 
	margin-right: -5px;
	margin-left: 10px;
}

.commentlist p {
	margin: 10px 5px 10px 0;
}
.children { padding: 0; }

#commentform p {
	margin: 5px 0;
	}

.nocomments {
	text-align: center;
	margin: 0;
	padding: 0;
	}

.commentmetadata {
	margin: 0;
	display: block;
	}
/* End Comments */



/* Begin Sidebar */
#sidebar
{
	padding: 20px 0 10px 0;
	margin-left: 539px;
	width: 190px;
	}

#sidebar form {
	margin: 0;
	}
/* End Sidebar */



/* Begin Calendar */
#wp-calendar {
	empty-cells: show;
	margin: 10px auto 0;
	width: 155px;
	}

#wp-calendar #next a {
	padding-right: 10px;
	text-align: right;
	}

#wp-calendar #prev a {
	padding-left: 10px;
	text-align: left;
	}

#wp-calendar a {
	display: block;
	}

#wp-calendar caption {
	text-align: center;
	width: 100%;
	}

#wp-calendar td {
	padding: 3px 0;
	text-align: center;
	}

#wp-calendar td.pad:hover { /* Doesn't work in IE */
	background-color: #fff; }
/* End Calendar */



/* Begin Various Tags & Classes */
acronym, abbr, span.caps {
	cursor: help;
	}

acronym, abbr {
	border-bottom: 1px dashed #999;
	}

blockquote {
	margin: 15px 30px 0 10px;
	padding-left: 20px;
	border-left: 5px solid #ddd;
	}

blockquote cite {
	margin: 5px 0 0;
	display: block;
	}

.center {
	text-align: center;
	}

.hidden {
	display: none;
	}

hr {
	display: none;
	}

a img {
	border: none;
	}

.navigation {
	display: block;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 60px;
	}
/* End Various Tags & Classes*/



/* Captions */
.aligncenter,
div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	border: 1px solid #ddd;
	text-align: center;
	background-color: #f3f3f3;
	padding-top: 4px;
	margin: 10px;
	border-radius: 3px;
}

.wp-caption img {
	margin: 0;
	padding: 0;
	border: 0 none;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	padding: 0 4px 5px;
	margin: 0;
}
/* End captions */

/*
  AJAX Calendar
*/
li.fc-event {
	content:;
}
/***
 ***  Big Calendar
 ***/


div#ec3_big_cal {
 border:solid 2px #eee;
}

#ec3_big_cal table {
 border-collapse:collapse;
 width:100%;
 line-height:normal;
}

#ec3_big_cal table.nav {
 width:50%;
 margin-right:auto;
 margin-left:auto;
}

#ec3_big_cal table.nav td {
 border:none;
 height:auto;
 text-align:center;
 font-size:1.5em;
 font-weight:bold;
}

#ec3_big_cal table caption {
 font-size:1.5em;
 font-weight:bold;
}

#ec3_big_cal table th {
	background-color: #000000;
 text-align:center;
 font-size:smaller;
 font-weight:normal;
}

#ec3_big_cal table td {
 margin:0;
 padding:0;
 width:14.2%;
 vertical-align:top;
 text-align:left;
 border:solid 1px #999;
}

#ec3_big_cal table td.ec3_today {
 background-color:#333333;
}

td .ec3_daynum {
	background-color: #777777;
 display:block;
 margin:0;
 margin-left:auto;
 margin-right:auto;
 padding:0;
 padding-right:2px;
 padding-bottom:1px;
 text-align:right;
 font-size:1em;
}

td.ec3_today .ec3_daynum {
	background-color: #298708;
}

td.ec3_postday  a.ec3_daynum { color:#0066cc }
td.ec3_eventday a.ec3_daynum { color:#ffffff }
             span.ec3_daynum { color:black }

td.ec3_postday  a.ec3_daynum:hover { color:white; background-color:#298708 }
td.ec3_eventday a.ec3_daynum:hover { color:white; }

#ec3_big_cal table td div {
 min-height:5em;
}

#ec3_big_cal table td p {
 font-size:smaller;
 margin-top:0;
 margin-bottom:0.1em;
}

#ec3_big_cal .ec3_post a {
 color:#298708;
}

#ec3_big_cal .ec3_event a { color:#298708; }
#ec3_big_cal .ec3_event a:hover { color:#ffffff; }

#ec3_big_cal .pad {
 border:none;
 background-color:#333333;
}

/***
 ***  Iconlet
 ***/

div.ec3_iconlet {
 margin: 5px 1ex 0.2ex 0;
 padding:0;
 border:solid 1px #000000;
 float:left;
 font-size:1em;
 text-align:center;
}

div.ec3_past {
 border-color:gray;
 opacity:0.5;
}

div.ec3_iconlet * {
 margin:0;
 padding:0;
 line-height:90%;
}

div.ec3_iconlet table {
 background-color:  #ffffff;
 color:  #000000;
 border-collapse:collapse;
}

div.ec3_iconlet td {
 padding-top:0.4ex;
 padding-bottom:0.4ex;
 text-align:center;
 font-weight:bold;
}

div.ec3_iconlet tr.ec3_month {
 background-color:  #1c3018;
 color:  #ffffff;
 padding-top:0;
 padding-bottom:0;
 font-size:1.1em;
 font-weight:bold;
 width:2.5ex;
}

div.ec3_iconlet tr.ec3_day td {
 padding: 5px;
 font-size:2.5em;
 font-weight:bold;
 width:2.5ex;
}

div.ec3_iconlet tr.ec3_time td {
 font-size:0.75em;
 font-weight:normal;
}

div.ec3_iconlet td.ec3_multi_start {
 padding-right:0.2ex;
}
div.ec3_iconlet td.ec3_multi_end {
 border-left:solid 1px #800;
 padding-left:0.2ex;
}
div.ec3_past td {
 border-color:gray;
}

/** Menu **/

.chess-menu {
	margin-bottom: 7px;
	position: relative;
	z-index: 2;
}

.chess-menu .menu-item {
	position: relative;
}

.chess-menu .menu-item:first-child {
	background: none;
}

.chess-menu .menu-item.has-sub-menu:hover {
	background-color: #e5eaef;
}

.chess-menu .current-menu-item > a,
.chess-menu .current-page-ancestor > a,
.chess-menu .menu-item a:hover {
	color: #c72932;
	text-decoration: none;
}

.chess-menu .sub-menu {
	display: none;
	position: absolute;
	left: 0;
	padding: 17px 22px 18px;
	width: 155px;
	background: black;
}

.chess-menu .sub-menu .menu-item a {
	padding: 0;
	font-weight: normal; 
	line-height: 40px;
	text-transform: none;
	display: block;
}

.chess-menu .menu-item:hover > .sub-menu { 
	display: block
}

.chess-menu .menu-item-has-children:after {
	content: "\25be";
	color: #777777;
	margin-left: -5px;
}

/* Hamburger toggle button: only shown once the mobile breakpoint below
   hides the menu itself */
.menu-toggle {
	display: none;
}

/** Kalender **/
:root {
	--tec-color-background: #333333 !important;
	--tec-color-text-primary: white !important;
	--tec-color-text-secondary: lightgray !important;
	--tec-color-text-events-title: white !important;
	--tec-color-text-event-date: white !important;
	--tec-color-text-primary-light: gray !important;
	--tec-color-icon-events-bar-active: white !important;
	--tec-color-accent-primary: white !important;
	--tec-color-icon-active: white !important;
}

.tribe-events .tribe-events-calendar-month__day-cell--selected, 
	.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus, 
	.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover {
	background-color: gray !important;
}
	
/** Instagram Widget **/
	
.instagram-widget {
	padding-top: 30px;
}

.instagram-widget ul li:before {
	content: none !important;
}

/* ==========================================================================
   Begin Responsive Layout
   The theme was built as a fixed 760px, two-column layout. Everything
   above stays untouched for wide screens; the rules below only kick in
   once the viewport gets too narrow for that fixed layout, and progressively
   turn it into a single, fluid, stacked column.
   ========================================================================== */

@media screen and (max-width: 800px) {

	#page {
		width: 100%;
		max-width: 760px;
		margin: 0 auto;
	}

	#navi-box,
	#sub-navi-box,
	#main-box,
	#footer-box {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}

	/* Title area: the background graphic is a fixed 739x196 image, so we
	   let it scale as a cover image instead of cropping/tiling at a fixed size */
	#title,
	#title-box {
		height: auto;
		min-height: 140px;
	}

	/* schachtitle_eventbox.jpg has the event box panel baked into the
	   artwork at a fixed spot, which only lines up at the original 739x196
	   size. schachtitle-bg-mobile.jpg is the same motif (green tone, piece
	   silhouette, diagonal accent) without that fixed panel, so it can be
	   cropped safely at any width/height via background-size: cover */
	#title-box {
		width: 100%;
		background-image: url('images/schachtitle-bg-mobile.jpg');
		background-size: cover;
		background-position: center top;
		padding: 15px 10px;
	}

	/* The schachtitle_eventbox.jpg background has a "box" panel drawn into
	   the artwork at a fixed position, which #event-box is precisely
	   floated/offset to sit inside at full (desktop) size. That alignment
	   can't survive a resized/cropped background, so on mobile we stop
	   relying on the artwork and give #event-box a real, visible box of
	   its own instead */
	#event-box {
		float: none;
		width: 100%;
		max-width: 75%;
		margin: 50px auto 0;
		padding: 10px 15px;
		background-color: rgba(0, 0, 0, 0.55);
		border-radius: 4px;
		text-align: left;
	}

	#event-box h3 {
		margin: 5px 0;
		text-align: left;
	}

	#event-box ul {
		text-align: left;
		display: inline-block;
	}

	#header {
		height: auto;
	}

	#header-box {
		width: 100%;
		height: auto;
		text-align: center;
		padding: 10px;
	}

	/* Two-column area: drop the float/margin trick and stack sidebar
	   below the content */
	.narrowcolumn {
		float: none;
		width: 100%;
		margin: 0;
		padding: 0 10px 20px;
		background-image: none;
	}

	.widecolumn {
		width: 100%;
		margin: 0;
		padding: 10px;
	}

	#sidebar {
		float: none;
		margin-left: 0;
		width: 100%;
		padding: 20px 10px 10px;
	}

	/* The dropdown sub-menu relies on :hover, which doesn't exist on touch
	   devices, so we show it inline/expanded instead of hiding it */
	.chess-menu .sub-menu {
		display: block;
		position: static;
		width: 100%;
		padding: 5px 10px;
		background: none;
	}

	/* Hamburger toggle: the menu is hidden by default and only shown
	   once #menu-toggle (see header.php) is clicked, via the .is-open
	   class toggled by js/responsive-menu.js */
	#navi-box {
		position: relative;
	}

	.menu-toggle {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		width: 34px;
		height: 34px;
		margin: 5px 0;
		padding: 6px;
		background: none;
		border: 1px solid #777777;
		border-radius: 3px;
		cursor: pointer;
	}

	.menu-toggle-bar {
		display: block;
		width: 100%;
		height: 2px;
		background-color: #ffffff;
	}

	.chess-menu {
		display: none;
		width: 100%;
		text-align: left;
	}

	.chess-menu.is-open {
		display: block;
	}

	#navi-box ul li {
		display: block;
		margin: 0;
	}

	#navi-box ul li a {
		display: block;
		padding: 8px 6px;
	}

	#footer-box {
		width: 100%;
	}

	/* Big calendar table doesn't reflow well; let it scroll horizontally
	   instead of squeezing/breaking its columns */
	div#ec3_big_cal {
		overflow-x: auto;
	}

	#ec3_big_cal table {
		min-width: 600px;
	}
}

@media screen and (max-width: 480px) {

	body {
		font-size: 13px;
	}

	h1 {
		font-size: 2.2em;
		padding-top: 30px;
	}

	h2 {
		font-size: 1.4em;
	}

	#navi-box ul,
	#sub-navi-box ul {
		padding: 5px 0 0;
	}

	#sub-navi-box ul li {
		display: block;
		margin: 0;
	}

	#sub-navi-box ul li a {
		display: block;
		padding: 6px 0;
	}

	.chess-menu .sub-menu {
		width: 100%;
	}

	#commentform input,
	select {
		width: 100%;
		max-width: 100%;
	}

	#commentform #submit {
		float: none;
		width: auto;
	}
}
/* End Responsive Layout */