@import url('https://fonts.googleapis.com/css?family=Open+Sans|Average|Roboto:400,700');

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  margin: 0;
}

[class*='col-'] {
  float: left;
  min-height: 1px;
}

.grid {
  width: 100%;
 /* min-width: 748px;  when using padded grid on ipad in portrait mode, width should be viewport-width - padding = (768 - 20) = 748. actually, it should be even smaller to allow for padding of grid containing element */
 /* max-width: 1920px; */
  margin: 0 auto;
  overflow: hidden;
}

.grid:after { content: ""; display: table; clear: both; }

.grid-pad {
  padding-top: 20px;
  padding-left: 20px; /* grid-space to left */
  padding-right: 0; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-20px=0 */
}

.push-right { float: right; }

/* Content Columns
-------------------------------------------------------------- */

.col-1-1  { width: 100%; }

.col-2-3, .col-8-12 { width: 66.66%; }
.col-1-2, .col-6-12 { width: 50%; }
.col-1-3, .col-4-12 { width: 33.33%; }
.col-1-4, .col-3-12 { width: 25%; }

.col-1-5  { width: 20%; }

.col-1-6, .col-2-12 { width: 16.667%; }

.col-1-7  { width: 14.28%; }
.col-1-8  { width: 12.5%; }
.col-1-9  { width: 11.1%; }
.col-1-10 { width: 10%; }
.col-1-11 { width: 9.09%; }
.col-1-12 { width: 8.33% }

/* Lyout Columns
-------------------------------------------------------------- */

.col-11-12 { width: 91.66% }
.col-10-12 { width: 83.333%; }
.col-9-12  { width: 75%; }
.col-5-12  { width: 41.66%; }
.col-7-12  { width: 58.33% }

/* Pushing Blocks
-------------------------------------------------------------- */

.push-2-3, .push-8-12 { margin-left: 66.66%; }

.push-1-2, .push-6-12 { margin-left: 50%; }
.push-1-3, .push-4-12 { margin-left: 33.33%; }
.push-1-4, .push-3-12 { margin-left: 25%; }

.push-1-5 { margin-left: 20%; }

.push-1-6, .push-2-12 { margin-left: 16.667%; }

.push-1-7  { margin-left: 14.28%; }
.push-1-8  { margin-left: 12.5%; }
.push-1-9  { margin-left: 11.1%; }
.push-1-10 { margin-left: 10%; }
.push-1-11 { margin-left: 9.09%; }
.push-1-12 { margin-left: 8.33% }


/* Default font settings.
   The font-size percentage is of 16px. (0.75 * 16px = 12px)
-------------------------------------------------------------- */

html { }
body {
  color: #333;
  background-color: #E0E0F8; /* F7BE81 */
  font-family: 'Open Sans';
  background-repeat: no-repeat;
  background-attachment: fixed;
  font-size: 62.5%;
}

/* Content Container
-------------------------------------------------------------- */

.content  { padding-top: 30px; background: #fff; font-size: 1.6em; }

#welcome  { text-align: center; padding: 20px 0 35px 0; }

/* Header
-------------------------------------------------------------- */

.slide img { width: 100%; height: auto; }
.slide {
    background: no-repeat center;
    width: 100%;
    height: 300px;
    background-size: cover;
	position: relative;
	text-align: center;
}

#logo {
	padding: 50px 40px 20px 40px;
	height: 120px;
	background-color: rgba(255,255,255,1);
}
#logo h1 {
	float: left;
	height: 100%;
	margin: 0;
	padding: 0;
}
#logo img {
	max-height: 100%;
}
#contact {
	float: right;
	font-family: 'Roboto';
	font-size: 1.8em;
	color: #111;
	bottom: 0px;
	position: relative;
	padding-top: 30px;
}

/* Glossary
-------------------------------------------------------------- */

.glossary-tooltip a {
	background: #fff!important;
	padding: 0!important;
}

/* Quotes
-------------------------------------------------------------- */

.quote {
text-align: center;
font-family: Average;
font-size: 1.3em;
margin: 80px 0;
border: 2px solid #ddd;
border-width: 2px 0;
padding: 20px;
font-style: italic;
}

.quote p { margin-bottom: 5px; }

.q2 { }
.cite {
	font-size: 0.8em;
	font-style: initial;
	font-family: Roboto;
}

/* Footer
-------------------------------------------------------------- */

#footer  { padding: 30px 0; background: #363636; color: #8c919b; font-family: 'Open Sans', Arial, Verdana, 'Helvetica Neue', Helvetica, sans-serif; font-size: 1.4em; margin-bottom: 30px; }
#footer h3 { color: #FF8000; font-weight: bold; }

#footer a { border: none; color: #ff8000; }
#footer a:active,
#footer a:focus,
#footer a:hover { background-color: rgba(255,128,0,0); padding: 0; }

#container.members { display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-flex-direction: row; flex-direction: row; }
#container.members .post { display: inline-block; -webkit-flex: 1 0 40%; flex: 1 0 40%; margin: 0 30px; }

/* Post
-------------------------------------------------------------- */

.post { padding: 30px 0; }

.thumbnail { float: right; margin: 0 20px; }
.thumbnail img { max-width: 250px; height: auto; }

p img { max-width: 100%; height: auto; }

.alignleft   { float: left; margin-right: 20px; }
.alignright  { float: right; margin-left: 20px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.date {
font-family: Open Sans;
font-weight: 800;
text-transform: uppercase;
display: none;
}

#blog .date { display: block; }

#comment {
    width: 100%;
    height: 50px;
}

.contact-box    {
	background: #ddd;
	padding: 10px 40px 30px 40px;
	margin-bottom: 80px;
}

.contact-box h3    { color: #000; font-size: 1.2em; }
.contact-box-name  { font-weight: bold; }
.contact-box-name,
.contact-box-mail,
.contact-box-phone { margin: 0; line-height: 2em; }

/* Angebote
-------------------------------------------------------------- */

#projects	  { padding: 0 50px; background-color: rgba(255, 255,255, 0.8); font-size: 1.4em; font-family: Open Sans; }
#projects img { float: right; width: 75px; height: auto; margin-right: 5px; }

#projects ul  { display: flex; padding: 0; margin: 0;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-flex-direction: row;
flex-direction: row;
list-style-type: none; }

#projects ul li        { display: inline-block; -webkit-flex: 1 0 20%; min-width: 250px; flex: 1 0 20%; padding: 0; }
#projects ul li a:active,
#projects ul li a:hover,
#projects ul li a:focus { background-color: #FF8000; color: #fff; transition: none; }

#projects ul li a       { color: #000; display: inline-block; height: 100%; border: none; padding: 30px; width: 100%; }

#projects ul li a:active h3,
#projects ul li a:hover h3,
#projects ul li a:focus h3 { color: #fff; transition: none; }


/* Map
-------------------------------------------------------------- */

#legend {
  margin-right: 20px!important;
}

/* Events
-------------------------------------------------------------- */

#sidebar {
    padding: 30px 10px;
    color: #666;
    background: #ddd;
    text-align: center;
  	font-size: 1.4em;
}
#sidebar #widget h3 { color: #000; }

#vsel .vsel-content:first-child { border-left: none; }
#vsel .vsel-content { padding: 10px; margin: 0;
border-left: 1px solid #ccc;
border-bottom: none;
}

#vsel h4,
#vsel .vsel-meta       { width: 100%; font-size: 1.4em; }
#vsel .vsel-meta-date  { font-size: 1.2em; font-weight: bold; }
#vsel .vsel-image-info { width: 100%; float: right; }
#vsel .vsel-no-events  { }

/* Search
-------------------------------------------------------------- */

#search  { float: right; margin: 5px; }
#sufu-mobile  { display: none; }

/* Pagination
-------------------------------------------------------------- */

.pagination {
    clear:both;
    position:relative;
    font-size:11px; /* Pagination text size */
    line-height:13px;
    float:right; /* Pagination float direction */
}

.pagination span, .pagination a {
    display:block;
    float:left;
    margin: 2px 2px 2px 0;
    padding:6px 9px 5px 9px;
    text-decoration:none;
    width:auto;
    color:#fff; /* Pagination text color */
    background: #555; /* Pagination non-active background color */
    -webkit-transition: background .15s ease-in-out;
    -moz-transition: background .15s ease-in-out;
    -ms-transition: background .15s ease-in-out;
    -o-transition: background .15s ease-in-out;
    transition: background .15s ease-in-out;
}

.pagination a:hover{
    color:#fff;
    background: #FF8000; /* Pagination background on hover */
}

.pagination .current{
    padding:6px 9px 5px 9px;
    background: #FF8000; /* Current page background */
    color:#fff;
}

/* Menu
-------------------------------------------------------------- */

.main-navigation,
.side-navigation { letter-spacing: 2px; font-weight: bold; font-size: 20px; padding-bottom: 0px; font-family: 'Roboto'; }

.side-navigation { padding: 30px 0; }

.side-navigation ul { list-style: none; padding: 0 20px 0 0; }
.side-navigation li { padding: 10px 10px 10px 50px; margin-bottom: 20px; }
.side-navigation li a { line-height: 1.8em; color: #000; border-bottom: 2px solid #000; }
.side-navigation li a:hover,
.side-navigation li a:active { background-color: rgba(255,128,0,0.4); border-bottom: none; padding: 5px; color: #000; }

.main-navigation ul { display: flex; flex-wrap: wrap; flex-direction: row;
-webkit-flex-wrap: wrap;
-webkit-flex-direction: row;
list-style-type: none; margin: 0; padding: 0; overflow: hidden; }
.main-navigation li { display: inline-block; -webkit-flex: 1 0 5%; flex: 1 0 5%; background-color: rgba(255,128,0,0.8); }
.main-navigation li:hover,
.main-navigation li.current-menu-item,
.main-navigation li.current-menu-ancestor { background-color: rgb(255, 176, 97); }

.main-navigation li a { border: none; height: 100%; display: block; padding: 33px 13px 13px 13px; color: #fff; font-size: 1.25em; }
.main-navigation li a:hover { background-color: rgba(255,128,0,0); }

.main-navigation li ul { list-style-type: none; display: none; position: absolute; width: 100%; left: 0; z-index: 2; }
.main-navigation li:active ul,
.main-navigation li:hover  ul { display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-flex-direction: row; flex-direction: row; }
.main-navigation li.current-menu-item a { text-shadow: 1px 1px #666; }

.main-navigation li li { background-color: rgb(255, 176, 97); transform: none; }
.main-navigation li li a    { transform: none; }

/*.main-navigation li ul li ul { display: none!important; }

/** Menu Items

li.menu-item-1,
li.menu-item-11,
li.menu-item-21,
li.menu-item-31,
li.menu-item-41,
li.menu-item-51,
li.menu-item-6,
li.menu-item-16,
li.menu-item-26,
li.menu-item-36,
li.menu-item-46,
li.menu-item-56 { background-color: #FAAC58; }

li.menu-item-2,
li.menu-item-12,
li.menu-item-22,
li.menu-item-32,
li.menu-item-42,
li.menu-item-52,
li.menu-item-4,
li.menu-item-14,
li.menu-item-24,
li.menu-item-34,
li.menu-item-44,
li.menu-item-54,
li.menu-item-8,
li.menu-item-18,
li.menu-item-28,
li.menu-item-38,
li.menu-item-48,
li.menu-item-58 { background-color: #FE9A2E; }

li.menu-item-3,
li.menu-item-13,
li.menu-item-23,
li.menu-item-33,
li.menu-item-43,
li.menu-item-53,
li.menu-item-5,
li.menu-item-15,
li.menu-item-25,
li.menu-item-35,
li.menu-item-45,
li.menu-item-55,
li.menu-item-0,
li.menu-item-10,
li.menu-item-20,
li.menu-item-30,
li.menu-item-40,
li.menu-item-50 { background-color: #DF7401; }

li.menu-item-7,
li.menu-item-17,
li.menu-item-27,
li.menu-item-37,
li.menu-item-47,
li.menu-item-57,
li.menu-item-9,
li.menu-item-19,
li.menu-item-29,
li.menu-item-39,
li.menu-item-49,
li.menu-item-59 { background-color: #FF8000; } **/

/* Headings
-------------------------------------------------------------- */

h1, h1 a,
h2, h2 a,
h3, h3 a,
h4, h4 a { font-family: 'Roboto'; font-weight: 800; border: none; line-height: 1.3; margin-bottom: 1em; }

h2 a:active,
h3 a:active,
h2 a:focus,
h3 a:focus,
h2 a:hover,
h3 a:hover { color: #ff8000; background: rgba(255,255,255,0); padding-left: 0; }

h2 { font-size: 1.8em; }
h3 { font-size: 1.5em; }
h4 { font-size: 1.2em; color: #111; }

h1 img, h2 img, h3 img,
h4 img, h5 img, h6 img {
  margin: 0;
}

h1, h1 a,
h2, h2 a,
h3, h3 a { color: #ff8000;
	margin: 8px 0 35px 0;
}

/* Galleries
-------------------------------------------------------------- */

.gallery-item {

}
.gallery-item img {
	border: none!important;
	margin: 5px;
	/*max-height: 100px;*/
	width: auto;
	max-width: 100%;
	height: auto;
}
.gallery-item .gallery-caption {
	font-size: 0.8em;
}

/* Text elements
-------------------------------------------------------------- */

.entry p,
.entry ul, ol { line-height: 2em; }

p           { margin: 0 0 1.5em; }
/*
  These can be used to pull an image at the start of a paragraph, so
  that the text flows around it (usage: <p><img class="left">Text</p>)
 */
.left       { float: left !important; }
p .left     { margin: 1.5em 1.5em 1.5em 0; padding: 0; }
.right      { float: right !important; }
p .right    { margin: 1.5em 0 1.5em 1.5em; padding: 0; }

a           { text-decoration: none; color: #000; border-bottom: 2px solid #000;
-webkit-transition: all .3s cubic-bezier(.645,.045,.355,1);
-moz-transition: all .3s cubic-bezier(.645,.045,.355,1);
-o-transition: all .3s cubic-bezier(.645,.045,.355,1);
transition: all .3s cubic-bezier(.645,.045,.355,1); }
a:focus,
a:hover     { background-color: rgba(255,128,0,0.4); border-bottom: none; padding: 5px; color: #000; }

#pojo-a11y-toolbar a { border: none; }
#pojo-a11y-toolbar a:active,
#pojo-a11y-toolbar a:focus,
#pojo-a11y-toolbar a:hover { background-color: rgba(255,128,0,0); }

blockquote  { margin: 1.5em; color: #666; font-style: italic; }
strong,dfn  { font-weight: bold; }
em,dfn      { font-style: italic; }
sup, sub    { line-height: 0; }

abbr,
acronym     { border-bottom: 1px dotted #666; }
address     { margin: 0 0 1.5em; font-style: italic; }
del         { color:#666; }

pre         { margin: 1.5em 0; white-space: pre; }
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }

/*img	    { max-width:100%; max-height:100%; }*/

/* Lists
-------------------------------------------------------------- */

li ul,
li ol  { margin: 0; }
ul, ol { margin: 0 1.5em 1.5em 0; padding-left: 3em; }

li     { padding-left: 0.5em; }

ul     { list-style-type: disc; }
ol     { list-style-type: decimal; }

dl     { margin: 0 0 1.5em 0; }
dl dt  { font-weight: bold; }
dd     { margin-left: 1.5em;}


/* Tables
-------------------------------------------------------------- */

/*
  Because of the need for padding on TH and TD, the vertical rhythm
  on table cells has to be 27px, instead of the standard 18px or 36px
  of other elements.
 */
table         { margin-bottom: 1.4em; width:100%; }
th            { font-weight: bold; }
thead th      { background: #c3d9ff; }
th,td,caption { padding: 4px 10px 4px 5px; }
/*
  You can zebra-stripe your tables in outdated browsers by adding
  the class "even" to every other table row.
 */
tbody tr:nth-child(even) td,
tbody tr.even td  {
  background: #e5ecf9;
}
tfoot        { font-style: italic; }
caption      { background: #eee; }


/* Color dummy
-------------------------------------------------------------- */
.blue	   { border: 3px dotted #0000ff; }
.green	   { border: 3px dotted #00ff00; }
.red	   { border: 3px dotted #ff0000; }
.gray      { border: 3px dotted #aaaaaa; }

/* Misc classes
-------------------------------------------------------------- */

.small     { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
.large     { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
.hide      { display: none; }

.quiet     { color: #666; }
.loud      { color: #000; }
.highlight { background:#ff0; }
.added     { background:#060; color: #fff; }
.removed   { background:#900; color: #fff; }

.first     { margin-left:0; padding-left:0; }
.last      { margin-right:0; padding-right:0; }
.top       { margin-top:0; padding-top:0; }
.bottom    { margin-bottom:0; padding-bottom:0; }

.right 	   { text-align: right; }

hr {
    display: block;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 60px;
    margin-right: auto;
    border-style: inset;
    border-width: 1px;
}

/* Mobile Grid
-------------------------------------------------------------- */

@media all and (max-width: 580px) {
  [class*='col-'] {
    margin: 0px;
    width: 100%;
  }

  [class*='push-'] {
    margin: 0;
    padding: 0 60px;
  }
  
  .hide-on-mobile {
    display: none !important;
    width: 0;
    height: 0;
  }
  
  #projects { padding: 0; }
  #projects h3 { text-align: center; color: #ff9000; font-weight: bold; }
  .block { display: none; }
}

@media all and (max-width: 2000px) {
  .main-navigation li a {
	  padding: 13px;
  }
}