body.index {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 10em;
    font: "europa";
}

.content {
    padding-bottom: 65px;
}
.content > div:nth-last-of-type(2) {
	margin-bottom: 65px;
}

.cf:before,
.cf:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.cf {
    *zoom: 1;
}

/* @group Text / links */

body {
    font-family: "europa", sans-serif;
    font-weight: 300;
}

body.index {
    background-color: #e6e6e6;
}

.text-container .text p {
    margin-bottom: 5px;
}



.about-text-wrapper{
	position: relative;
	width: 100%;
	margin-top: 120px;

}

.about-text{
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}
.about-text p{
	margin-bottom: 15px;
	font-size: 0.9em;
}

.index h1 {
    font-size: 1em;
    margin-bottom: .4em;
    margin-top: .5em;
    font-weight: 600;
}

h1,
h2,
h3 {
    margin: 0;
    font-weight: 500;
}

.content h1 {
    font-size: 1.8em;
    margin-bottom: -3px;
}

h2 {
    font-size: 1.2em;
}

h3 {
    font-size: .9em;
}


.index .menu-links a:hover {
    text-decoration: underline;
}

.index a:link,
.index a:visited,
.index a:hover,
.index a:active {
    color: black;
    text-decoration: none;
}

.content a:link,
.content a:visited {
    color: #609ea0;
    text-decoration: none;
    font-size: .9em;
}

.content a:hover,
.content a:active {
    text-decoration: underline;
}

button {
    border: none;
    background: none;
    font-size: .8em;
}

ul{
	padding: 0;
}

li{
	list-style: circle inside none;
	margin-bottom: 5px;
}
ul li:first-child{
	list-style: none;
	text-decoration: underline;
	margin-bottom: 8px;
}
/* @end */

.container {
    margin-top: 120px;
    width: 100%;
    height: 100%;
    /*The content width you use on your website*/
    --content-width: 80vw;

    /*The size of the gutter  */
    --gutter: calc(10vw);

    /*The amount of columns*/
    --columns: 1;


    /*This is the calculation for the row height.   */

    display: grid;

    width: 100%;
    max-width: var(--content-width);

    grid-template-columns: repeat(var(--columns), 1fr);
    grid-auto-rows: var(--row-size);

    grid-column-gap: var(--gutter);
    grid-row-gap: calc(15vw);
}



.gridbox {
    position: relative;
    max-width: 400px;
    max-height: 400px;
    text-align: center;
    margin: 0 auto;
}

.grid-image img {
    display: block;
    max-width: 100%;
}

.grid-shadow {
    position: relative;
    width: 100%;
    height: 20px;
    overflow: hidden;
    margin-bottom: -10px;
}

.image-shadow {
    margin-left: 10%;
    margin-top: -25px;
    width: 80%;
    height: 10px;
    box-shadow: 0 15px 20px rgba(0, 0, 0, 0.68);
    -moz-box-shadow: 0 15px 20px rgba(0, 0, 0, 0.68);

}

.grid-details p {
    font-size: .7em;
    color: black;
    margin: 0;
    opacity: .5;
}

.grid-title {
    opacity: .9;

}

.gridbox:hover .grid-title {
    text-decoration: underline;
}

/* @group menu */

.menu-container {
    position: fixed;
    top: 0;
    z-index: 10000;
    width: 100%;
    height: 100px;
    background-color: rgba(230, 230, 230, 0.81);
}
.menu-container-p{
	position: fixed;
	top: 0;
	z-index: 10000;
	width: 100%;
	height: 100px;
	background-color: rgba(255, 255, 255, 0.98);
}

.menu-block {
    display: table;
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.menu-aluin {
    display: table-cell;
    height: 100px;
    vertical-align: middle;
    width: 25%;

}

.menu-title {
    display: table-cell;
    height: 100px;
    vertical-align: middle;
    width: 50%;
    font-weight: 600;
}

.menu-links {
    display: table-cell;
    height: 100px;
    vertical-align: middle;
    width: 25%;
}

/* @end */

/* @group Project Page */

.head-container {
    position: relative;
    margin-top: 300px;
    width: 100%;
    padding-bottom: 20px;
    background-color: #e2e2e2;

}

.head-image {
    margin-left: auto;
    margin-right: auto;
    max-width: 498px;
    width: 100%;
}

.narrow {
	max-width: 300px;
}

.head-image img {
    margin-top: -200px;
    width: 100%;
}

.head-text {
    display: table;
    width: 100%;
}

.head-title {
    display: table-cell;
    vertical-align: bottom;
    width: 25%;
    text-align: right;
}



.head-info {
    display: table-cell;
    vertical-align: bottom;
    width: 40%;
    padding-left: 5%;
    padding-right: 5%;
    font-size: .8em;
    color: #bf4d4d;
}

.head-language {
    display: table-cell;
    vertical-align: bottom;
    width: 25%;

    font-size: .8em;
}

.spacer{
	width: 100%;
	height: 65px;
}

.slide-show-container {
    width: 100%;
    background-color: #e2e2e2;
    padding-top: 10px;
    padding-bottom: 15px;
    overflow: hidden;
}

.slideshow {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 80%;
    max-width: 1000px;
}

.slideshow img {
    width: 100%;
}

.image-container  {
width: 100%;
background-color: #e2e2e2;
padding-top: 1px;
padding-bottom: 1px;
overflow: hidden;

}
.image-container img {
position: relative;
display: block;
margin: 0 auto;
width: 80%;
max-width: 1000px;
}
.image-container.portrait img {
position: relative;
display: block;
margin: 0 auto;
width: 80%;
max-width: 500px;
}



.three-image-container{
	width: 100%;
	background-color: #e2e2e2;
	padding-top: 1px;
	padding-bottom: 1px;
	overflow: hidden;
	max-width: 1000px;
	margin: 0 auto;
}
.three-image-container img {
position: relative;
float: left;
width: 33.3%;
}
.video {
    width: 100%;
    height: auto;
}

.video-container{
position: relative;
display: block;
margin: 0 auto;
width: 80%;
max-width: 1000px;

}

.slideshow-shadow {
    margin-left: auto;
    margin-right: auto;
    margin-top: -23px;
    width: 75%;
    max-width: 900px;
    height: 20px;
    box-shadow: 0 15px 20px rgba(0, 0, 0, 0.68);
    -moz-box-shadow: 0 15px 20px rgba(0, 0, 0, 0.68);

}

.text-container {
    display: table;
    width: 100%;
    padding-top: 40px;
    padding-bottom: 30px;

}

.text-container .title {
    display: table-cell;
    width: 25%;
    text-align: right;
    vertical-align: top;
}


.text-container .text {
    display: table-cell;
    padding-top: 5px;
    width: 40%;
    padding-left: 5%;
    padding-right: 5%;
    vertical-align: top;
    font-size: .9em;
}



.text-container .related {
    display: table-cell;
    width: 25%;
    vertical-align: top;
    padding-top: 5px;
}


/* @end */

/* @group View Widths */

@media (min-width: 200px) {
    .container {
        --columns: 1;
    }
}


@media (min-width: 700px) {
    .container {
        --columns: 2;
    }
}

@media (min-width: 1000px) {
    .container {
        --columns: 2;
    }
}

@media (min-width: 1600px) {
    .container {
        --columns: 3;
    }
}

/* @end */

.btn {
  color: #ccc;
  margin-right: 5px;
  padding: 5px 10px;
  border-radius: 10px;
  border: solid 1px #666;
  display: block;
  float: left;
  background-color: rgba(0, 0, 0, 0.1);
  cursor: pointer;
  cursor: hand;
}
.btn:hover {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fafafa;
}