/*
Theme Name: Mastul
Theme URI:  https://mastul.de/
Author: Klark
Author URI: https://media-design-concept.de/
Version: 1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

This theme, like WordPress, is licensed under the GPL.






/* 1.0 - Normalize  */


.site-branding {
    display: flex;
    align-items: center;
}

.site-branding  .site-tile {
	font-weight: 700;
	font-size: 24px;
}

#sidebar ul.menu {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#sidebar ul.menu  li, .wp-block-button__link {
    padding: 8px 12px;
    border-radius: 5px;
    background: #000;
    color: #fff;
    margin: 0 8px 8px 0;
}
#sidebar ul.menu  li a, .wp-block-button__link {
    color: #fff;
    font-size: 20px;
}

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

code,
kbd,
pre,
samp {
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

select {
	text-transform: none;
}

button {
	overflow: visible;
}

button,
input,
select,
textarea {
	max-width: 100%;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
	opacity: .5;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #d1d1d1;
	margin: 0 0 1.75em;
	min-width: inherit;
	padding: 0.875em;
}

fieldset > :last-child {
	margin-bottom: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

optgroup {
	font-weight: bold;
}


/*  general stuff */

body {
	background-color: #FFF;
	font-family: 'Roboto', sans-serif;
    width: 100%;
    overflow-x: hidden;
}
a{
	text-decoration: none;
	color: #000;
}

.alignright {
	float: right;
	margin: 0 0 10px 20px;
}
.alignleft {
	float: left;
	margin: 0 20px 10px 0;
}
.size-medium {
	width: 300px;
	height: auto;
}
.site {
	max-width: 1200px;
	padding: 0 50px;
	margin: 0 auto 100px;
}

	#gema_banner {
		float: right;
	}
	#gema_banner img{
		max-height: 65px;
	}

	.site-header {
	    margin: 2em 0 4em;
	}
		.site-branding img {
			width: 300px;
			height: auto;
		}

		.primary-menu {
			padding: 0;
		    margin: 1em 0 0;
		    list-style: none;
		    float: right;
		}
		.primary-menu li {
		    float: left;
		    margin: 0 40px;
		   	padding: 0 0 6px 0;
		    font-size: 1.2em;
			font-weight: bold;
			color: #000;
		}	
		.primary-menu li a {
		    padding: 0 0 6px 0;
		}	
		.primary-menu li:hover, .primary-menu .current_page_item {
			border-bottom: 2px solid
		}

		.shailan-dropdown-menu-widget {
			list-style: none;
			width: auto;
			margin-right: -55px;
			font-weight: bold;
			float: right;
			font-size: 1.3em;
		}
		.shailan-dropdown-menu-widget ul.dropdown > li {
    		margin-right: 40px;
		}
		.shailan-dropdown-menu-widget .sub-menu
		{
			margin: 2px 0 0;
		}
		.shailan-dropdown-menu-widget .sub-menu li {
			font-weight: normal;
		    font-size: 0.8em;
		    line-height: 1.5;
		    background-color: #FFF;
		    padding: 10px 0 10px 5px;
		}
		.shailan-dropdown-menu-widget .sub-menu li:first-child {
			padding-top: 30px;
		}


	#sidebar {
		float: left;
		max-width: 320px;
		width: 30%;
	    padding: 0;
	    margin: 0;
}
.home #sidebar {
		display: none;
	}
		#sidebar ul {
			list-style: none;
		    padding: 0;
		    margin: 0;
		}
		#sidebar .widget_em_calendar td {
			width: 35px;
		    padding: 2px 8px;
		}
		#sidebar .widget_em_calendar tr {
			height: 40px;
		}
		#sidebar .widget_em_calendar img {
			width: 100%;
		}

.home iframe 
{
    width: 100%;
    height: 450px;
}

	.site-main {
	    max-width: 850px;
	    width: 70%;
	    float: right;
	} 
	.home .site-main {
		max-width: 850px;
   		width: 100%;
    	margin: 0 auto;
		float: none;
	}
		.site-content {
		   	font-size: 1em;
    		line-height: 1.6;
		}
			.site-content h1 {
				margin: -10px 0 50px;
				padding-top: 0px;
				font-size: 2em;
			}
			.site-content h2 {
				font-size: 1.5em;
    			margin: 0 0 10px;	
    		}
			.site-content h2.eventdate {
			    margin: 10px 0 -40px;
				font-weight: normal;
				font-size: 1.3em;
			}
			.site-content img {
				max-width: 100%;
				height: auto;
			}
			.site-content .wp-post-image {
				max-width: 100%;
				height: auto;
				margin: 0 0 20px;
			}
			.site-content p {
			   	width: 100%;
			}
			.site-content p:has(> img)
			{
				width: 100%;
			}

	.site-footer {
		clear: both;
	}


figure.lang-selector {
    width: 100%;
    text-align: right;
    margin-top: -70px;
    margin-bottom: 50px;
}
.wp-block-image.lang-start {
    float: right;
}



/* EVENT styles */

div.css-search div.em-search-main .em-search-submit {
	display: none;
}
.site-content .eventlist {
	clear: both;
	margin-bottom: 00px;
}
	.site-content .eventlist_date 
	{
	    width: 20%;
	    float: left;
	    border-top: 1px solid;
	    padding: 15px 0;
	    font-size: 1.2em;
	}
	.site-content .eventlist_date h2
	{
		font-size: 1.1em;
	    margin-top: -5px;
	}
	.site-content .eventlist_date p
	{
		font-size: 0.8em;
	    margin-top: 55px;
	    line-height: 1;
		min-height: auto;
	}
	.site-content .eventlist_detail 
	{
	    width: 78%;
	    margin-left: 22%;
	    border-top: 1px solid;
	    padding: 15px 0;
	}
	.site-content .eventlist .event_link
	{
		float: right;
	}
	.site-content .eventlist p
	{
		font-size: 0.8em;
		width: 100%;
		min-height: auto;
	}
	.site-content .eventlist:last-child
	{
		border-bottom: 1px solid;
    	padding: 0 0 40px;
	}
	.site-content .eventlist_detail img 
	{
		float: left;
		width: 160px;
	    margin: 0 20px 40px 0;
	}
	.site-content .eventlist_detail h2 
	{

    font-size: 1.1em !important;
    margin-top: -30px !important;
   
	}
	.site-content .eventlist_detail h2 a, .em.pixelbones a {
		 color: #000 !important;
	}
	.site-content .eventlist_detail p 
	{
		width: 88%;
    	text-align: justify;
		min-height: auto;
	}
	.site-content .eventlist_detail .event_text {
	    min-height: 60px;
	}
	.site-content .eventlist_icon {
		float: right;
	    width: 7%;
	    margin: -80px 0 0;
	}
	.site-content .eventlist_icon img 
	{
		width: 100%;
	}
	.em-pagination 
	{
		text-align: right;
	    font-size: 2em;
	    line-height: 5;
	}

.site-content .eventlist img + p {
    margin: 0;
    height: 10px;
}







	/*mobile styling*/
	.menu_icon, .calendar_icon {
		display: none;
	}
	.mobile .menu_icon {
/* 		display: inline-block; */
		float: right;
    	width: 30px;
    	margin: -60px 0 0;
	}
	.mobile .calendar_icon {
		display: inline-block;
	    float: right;
	    width: 30px;
	    margin: -60px 50px 0 -0;

	    display: none !important;
	}
	.mobile .site{
		max-width: 100%;
	    padding: 0 3%;
	    margin: 0 auto;
	}
	.mobile .site-header {
	    padding: 1em 0 1em;
	    margin: 0;
	    height: auto;
	    background: #fff;
	    position: relative;
	    z-index: 2;
	}
	.mobile .site-branding img {
	    width: 230px;
	    height: auto;
	}
	.mobile .main-navigation {
	    height: auto;
    	overflow: hidden;
	}
	.mobile .sub-menu {
		display: none;
	}
	.mobile .shailan-dropdown-menu-widget {
		display: none;
	}
	.menu-topmenu-container {
		display: none;
	}
	.mobile .menu-topmenu-container {
		display: block;
	}

	.mobile .primary-menu {
	    padding: 0;
	    margin: 0px 0px 1em 20%;
	    margin-top: -180px;
	    list-style: none;
	    float: none;
	    height: auto;
	}
	.mobile .primary-menu li {
	    float: none;
	    margin: 0 auto;
	    padding: 15px 0px 0px 0;
	    font-size: 1.5em;
	    font-weight: bold;
	    color: #000;
	}
	.mobile .primary-menu .current_page_item, .mobile .primary-menu li:hover  {
	    border-bottom: none;
	}	
	.mobile #sidebar {	
	    float: none;
	    padding: 0;
	    margin: -0px 0 50px;
	    font-size: 1.5em;
	    max-width: 100%;
	    width: 100%;
	    position: relative;
	    z-index: 0;
	    /*display: none;*/
	}
	.mobile #sidebar .widget_em_calendar td 
	{
		width: 2%;
	}
	.mobile #sidebar .widget_em_calendar tr 
	{
		width: 50px;
	}

	.mobile .site-main {
	    max-width: 100%;
	    width: 100%;
	}
	.mobile .metaslider {
		display: none;
	}
	.mobile .site-content {
		margin-bottom: 4em;
	}
	.mobile .site-content p {
	    width: 100%;
	}	
	.mobile .site-content .eventlist {
	    height: auto;
	    font-size: 1.5em;
	    margin-bottom: 0;
	}
	.mobile .site-content .eventlist_date {
	    width: 100%;
	    float: none;
	    border-top: 1px solid;
	    padding: 15px 0 0;
	    font-size: 0.9em;
	}
	.mobile .site-content .eventlist_date p {
		display: none;
	}
	.mobile .site-content .eventlist_detail {
		width: 100%;
	    margin: -15px 0 0;
	    border-top: none;
	    padding: 15px 0;
	}
	.mobile .site-content .eventlist_detail img {
	    float: none;
	    width: 100%;
	    margin: 0;
	}
	.mobile .site-content .eventlist_detail h2 {
    	line-height: 1;
	}
	.mobile .site-content .eventlist_detail p {
	    width: 100%;
	    text-align: left;
	}
	.mobile .site-content .eventlist_icon {
		display: none;
	}
	.mobile .em-pagination {
	    padding-left: 0%;
	}
	.mobile .alignright, .mobile .alignleft
	{
		float: none;
		width: 100%;
    	margin: 4px auto 8px;
	}