:root {
	--navbar-height: 0px;
    --cookie-height: 0px;
	--seperator: 2.5vh;
    --mainBgColor: #6d262c;
    --mainTextColor: #dadada;
    --inputShadow: #b18488;
    --captionSize: 13pt;
    --titleSize: 10pt;
    --textSize: 10pt;
}

html {
	height:100%;
}

body {
	background-color: white;
	height: 100%;
	padding:0px;
	margin:0px;
}

p {
	font-family: 'Arvo'; 
	font-size: var(--textSize);
	color: var(--mainTextColor);
}

a, a:active{
	color: var(--mainTextColor);
	text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

.caption {
	font-family: 'Proxima Nova'; 
	font-size: var(--captionSize);
	color: var(--mainTextColor);
}

.title {
	font-family: 'Proxima Nova'; 
	font-weight: bold; 
	font-size:var(--titleSize);
}

#cookie-consent {
    bottom:0; 
    right:0;
    z-index: 100;
    width: 100%;
    height: 40px;
    position:fixed;
    display:none; 
    padding:0 10px 0 10px;
    background-color: var(--mainBgColor);
}

.cookie-container {
    display:flex; 
    width: 100%; 
    height: 100%;
    column-gap: 10px;
    justify-content: right;
    align-items: center;
}

.cookie-container > div:first-child {
    margin-top: -3px;
}

.cookie-container > div :is(p,a) {
    color: var(--mainTextColor) !important;
    line-height: 1.1;
    margin:0px;
    padding:0px;
}

.oko-button {
    border: 1px solid var(--mainTextColor);
    border-radius: 0.25rem;
    margin-left:0px;
    width: 115px;
    height: 25px;
    text-align: center;
    cursor: pointer;
    padding-top:4px;
}

.oko-button:hover {
    background-color: white;
}

.oko-button:hover p {
    color: var(--mainBgColor) !important;
}

.navbar {
	width:100%;
	padding:0px;
	margin:0px;
	z-index: 10;
}

.navbar-nav {
	width: 90%;
	margin: auto;
	justify-content: center;
}

.navbar-brand {
	padding:0px;
	margin:0px;
}

.navbar-toggler {
	margin:15px;
}

.navbar-collapse {
	margin-top:10px;
	padding: 20px;
	background-color: white;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.navbar-white {
	background-color: white !important;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.nav-item {
	margin-right: 15px;
    margin-bottom: 5px;
}

.nav-item > .caption {
	color: var(--mainBgColor) !important;
    text-decoration: none !important;
    line-height: 1.8;
}

.nav-item > .caption:hover {
    -webkit-filter: drop-shadow(1px 1px #222);
	filter: drop-shadow(1px 1px #222);
}

.dropdown-item {
    color: var(--mainBgColor) !important;
    font-size: var(--titleSize) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

#navbar-social {
	display: flex;
	margin: 3px 10px 10px 3px; 
    justify-content: end;
    column-gap: 10px;
}

.social-icon {
	width: 25px;
	height: 25px; 
	background-size: contain;
}

.social-icon:hover {
	-webkit-filter: drop-shadow(1px 1px 1px #222);
	filter: drop-shadow(1px 1px 1px #222);
	cursor: pointer;
}

.page-seperator {
    clear:both;
    width: 100%;
    height: var(--seperator);
    background-color: white;
}

#intro-video-wrapper {
    position:relative; 
    height:100vh;
    z-index: -100; 
    pointer-events: none; 
    overflow:hidden; 
}

#intro-video-wrapper video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#intro-logo {
	position: absolute;
	top:0px;
	height: 100%;
	width: 100%;
	background-image: url("../img/logo_middle.png");
	background-size: 240px auto;
	background-position: 50% 40%;
	background-repeat: no-repeat;
}

#intro-text {
    position:absolute; 
    width: 240px;
    bottom:calc(10vh + var(--cookie-height));
	left: 50%;
	transform: translateX(-50%);
	text-align:justify;
    -webkit-filter: drop-shadow(1px 1px 1px #222);
	filter: drop-shadow(1px 1px 1px #222);
}

#games {
    scroll-snap-type: y mandatory;
    scroll-snap-align: center;
}

.game-1 {
    cursor: pointer;
    position:relative;
	height: calc(100vh - ((var(--navbar-height) + var(--cookie-height))));
}

.game-2 {
    cursor: pointer;
    position:relative;
	height: calc(50vh - ((var(--navbar-height) + var(--cookie-height)) / 2));
}

.herdling-logo {
    position: absolute;
    width: 100%;
	height: 100%;
    background-image: url('../img/hrd_logo_big.png');
	background-size: clamp(300px, 80vw, 450px) auto;
    background-position: center 25%;
	background-repeat: no-repeat;
}

.herdling-bg {
    width:100%;
    height: 100%;
	object-fit: cover;
	object-position: center bottom;
    animation-name: move-background-center;
    animation-duration: 1s;
    animation-play-state: paused;
    animation-delay: calc((var(--scroll) + 0.42) * -1s);
    animation-direction: reverse;
 }

.far-logo {
    position: absolute;
    width: 100%;
	height: 100%;
	background-size: clamp(300px, 80vw, 400px) auto;
	background-position: center 40%;
	background-repeat: no-repeat;
}

.far-bg {
    width:100%;
    height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

.fct-animation {
    animation-name: move-background;
    animation-duration: 1s;
    animation-play-state: paused;
    animation-delay: calc((var(--scroll) + 0.15) * -1s);
    animation-direction: reverse;
}

.fls-animation {
    animation-name: move-background;
    animation-duration: 1.5s;
    animation-play-state: paused;
    animation-delay: calc((var(--scroll) + 0.35) * -1s);
    animation-direction: reverse;
}

.anchor-offset {
	scroll-margin-top: var(--navbar-height);
}

#team {
    background-color: white;
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--seperator);
}

.team-person {
	position:relative;
    margin:0px;
    padding:0px;
    -webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.row1-sm {
    width:25%;
    height:calc(33.33vh - (var(--seperator) * 2 / 3) - ((var(--navbar-height) + var(--cookie-height)) / 3));
	background-color: black;
}

.row2-sm {
    width:25%;
    height:calc(33.33vh - (var(--seperator) * 2 / 3) - ((var(--navbar-height) + var(--cookie-height)) / 3));
	background-color: black;
}

.team-person .picture {
    -webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
 }

.team-person img {
    position:absolute;
    width:100%;
    height: 100%;
	object-fit: cover;
	object-position: center top;
 }

 .team-person .overlay {
    display:none;
    user-select: none; 
 }

 .team-person .overlay-hover {
    display:block;
    animation: fadeIn 0.5s ease-in;
 }

 .team-person .picture-hover {
    opacity: 0.75;
 }

 .team-person .name {
    position:absolute;  
    margin-left: 1.8vw;
    width:auto; 
    height:20%; 
    bottom:30%;
    text-align: left;
    display: flex;
    justify-content: left;
    align-items: flex-end;
}

.team-person .name .title {
    font-size: var(--captionSize);
    color: white;
    margin-bottom: 5px;
}

.team-person .description {
    position:absolute;  
    margin-left: 1.8vw;
    width:auto; 
    height:20%; 
    bottom:10%;
    text-align: left;
    display: flex;
    justify-content: left;
}

.team-person .description .title {
    font-size: var(--titleSize);
    color: white;
    font-family: 'Proxima Nova'; 
	font-weight: normal; 
}

#contact {
    max-width: 700px;
    margin:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
    flex-direction: row;
	column-gap: clamp(1px, 3%, 15px);
    row-gap: 10px;
    padding: clamp(1px, 5%, 20px);
	word-break:break-all;
}

#contact > .section {
    width: 100%; 
    max-width: unset;
    text-align: center;
}

#contact > div {
    width:48%;
    max-width: 250px;
}

#contact :is(p, .caption, a) {
	color: var(--mainBgColor) !important;
}

#contact .oko-button {
    width: 90px;
    background-color: white;
    border: 1px solid #ced4da;
    color: var(--mainBgColor);
    padding-top:2px;
}

#contact .oko-button:hover {
    background-color: var(--mainBgColor);;
    color: var(--mainTextColor);
}

.form-control {
    height: 35px;
}

.form-control:focus {
    border-color: var(--mainBgColor);
    box-shadow: 0 0 0 0.2rem var(--inputShadow);
}

.google-map {
    width: 100%; 
    height:45vh;
    margin-bottom: 10px;
}

.hide-mg {
    justify-content: center !important;
    width: 100% !important;
    max-width: unset !important;
    margin-top: 10px !important;
}

.logo-end {
    width: 100%;
    height: 100px;
    margin: calc(var(--seperator)*2) 0 0 0;
    background-image: url("../img/logo_middle.png");
	background-size: clamp(150px, 25%, 25%) auto;
	background-position: 48% 0%;
	background-repeat: no-repeat;
}

.fixed-popup {
    display:none; 
    position:fixed; 
    top:10%; 
    left:10%; 
    width: 80%; 
    height: auto; 
    max-height: 80%;
    padding: 2.5vw;
    background-color: var(--mainBgColor);
    overflow:auto;
}

.fixed-popup a {
    color: var(--mainTextColor) !important;
}

.fixed-popup li {
    color: var(--mainTextColor) !important;
    font-family: 'Arvo';
    font-weight: normal;
    font-size: 11px;
}

.fixed-popup .close {
    position: absolute;
    top:2vw;
    right:2vw;
    width: 25px;
    height: 25px;
    background-image: url("../img/close_white.png");
    background-size: contain;
    cursor: pointer;
}

.fixed-popup .close:hover {
    -webkit-filter: drop-shadow(1px 1px 1px #222);
	filter: drop-shadow(1px 1px 1px #222);
}

@keyframes move-background {
    from {
        object-position: left bottom;
    }
    to {
        object-position: center bottom;
    }
}

@keyframes move-background-center {
    from {
        object-position: 40%;
    }
    to {
        object-position: 60%;
    }
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
  }