/*
Theme Name: Záchranářský tábor Zvůle
Author: Radim Stolina
Author URI: http://www.radimstolina.net
*/

@-ms-viewport { width: device-width; }
@viewport { width: device-width; }
@-o-viewport { width: device-width; }
@-webkit-viewport { width: device-width; }

:root {
  --white: #fff;
  --black: #000;
  --main: #777574;
  --dark: #1e1e21;
  --cream: #ede8e2;
  --dark-cream: #e7e0d8;
  --green: #77af42;  
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html, body {
	height: 100%;
  
  margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}
body {
  font-family: 'Montserrat', sans-serif;
  font-optical-sizing: auto;
  font-size: 15px;
  font-weight: 500;
  color: var(--main);	
}
body.fixed {
  overflow: hidden;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  content: '';
  clear: both;
  height: 0;
}
a, a img, a:hover img, a:visited img {
	outline: none;
	border: none;
}
a img {
	-moz-transform: translate(0,0) scale(1.0);
}

/* Transitions */
a {
	-webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

/* Typography */
h1, h2, h3 {
  color: var(--dark);
}
h1 {
  font-size: 36px;
  text-transform: uppercase;
}
h2 {
  font-size: 30px;
}
h3 {
  font-size: 24px;
}
h4 {
  font-size: 18px;
  font-weight: 600;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px; 
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
p {
  line-height: 24px;
}
a {
  color: var(--green);
  text-decoration: none;
}
section ul {
	margin-top: 15px;
	margin-bottom: 15px;
	overflow: visible;
}
section ul li {
	color: var(--dark);
  line-height: 24px;
	padding-left: 25px;
  margin: 12px 0;
  position: relative;
	overflow: hidden;
}
section ul li:before {
	background-color: var(--green);
	content: '';
	width: 4px;
	height: 4px;
	position: absolute;
	left: 0;
	top: 10px;
  border-radius: 50%;
}

/* Layout */
header, section, footer {
  width: 100%;
}
.wrapper {
  margin-left: 7.5vw;
  margin-right: 7.5vw;
  position: relative;
}
section .wrapper {
  padding-top: 100px;
  padding-bottom: 100px;
}
.centered [class*="col-"] {
  text-align: center !important;
  -moz-text-align-last: center !important;
  text-align-last: center !important;
}

/* Links */
p a, li a, .copyright a {
  position: relative;
}
p a:after, li a:after, .copyright a:after {
  content: '';
  background: url(images/underline-green.png) left center repeat-x;
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -.3rem;
  opacity: 0;
  -webkit-transition: opacity .15s ease-in-out, bottom .15s ease-in-out;
  -moz-transition: opacity .15s ease-in-out, bottom .15s ease-in-out;
  transition: opacity .15s ease-in-out, bottom .15s ease-in-out;
}
p a:hover:after, li a:hover:after, .copyright a:hover:after {
  bottom: -3px;
  opacity: 1;
}
.copyright a:after {
  background: url(images/underline-white.png) left center repeat-x;
}

/* Button */
.btn {
  background: url(images/btn-bg.svg) center center no-repeat;
  width: 260px;
  height: 70px;
  line-height: 70px;
  display: inline-block;
  text-align: center !important;
  text-align-last: center !important;
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 30px;
  -webkit-transition: transform .3s ease-in-out;
  -moz-transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
}
.btn:hover {
  -webkit-transform: translateX(10px);
  -moz-transform: translateX(10px);
  transform: translateX(10px);
}
p .btn:after {
  display: none;
}

/* Header */
header {
  position: absolute;
  top: 0;
  z-index: 4;
}
header .wrapper {
  padding-top: 40px;
  padding-bottom: 40px;
}
nav {
  display: flex;
}
nav ul {
  width: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-grow: 1;
}
nav ul li {
  line-height: 50px;
}
nav ul li a {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 2px;
}
nav ul li a:hover {
  color: var(--green);
}
nav ul li a:after {
  display: none;
}
.menu__left {
  margin-right: 5vw;
}
.menu__right {
  margin-left: 5vw;
}
.menu__right li:nth-child(4) {
  line-height: 60px;
}
.menu__right li:nth-child(4) a {
  background: url(images/btn-bg.svg) center center no-repeat;
  background-size: 100% 100%;
  width: 222px;
  text-align: center;  
  letter-spacing: 1.5px;
}
.menu__right li:nth-child(4) a:hover {
  color: var(--white);
}
.logo img {
  width: auto;
  height: 72px;
  display: block;  
}

/* Navicon */
#navicon {
  display: none;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0;
  top: 61px;
  cursor: pointer;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}
#navicon:after, #navicon:before, #navicon div {
  background-color: var(--white);
  content: '';
  display: block;
  height: 2px;
  margin: 6px 0;  
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}
#navicon.act:before {
  -moz-transform: translateY(8px) rotate(135deg);
  -webkit-transform: translateY(8px) rotate(135deg);
  transform: translateY(8px) rotate(135deg);
}
#navicon.act:after {
  -webkit-transform: translateY(-8px) rotate(-135deg);
  -moz-transform: translateY(-8px) rotate(-135deg);
  transform: translateY(-8px) rotate(-135deg);
}
#navicon.act div {
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  transform: scale(0);
}

/* Slider + Banner */
#slider {
  height: 90vh;
  overflow: hidden;
}
#slider.loading {
  background: var(--dark-cream) url(images/loader.svg) center center no-repeat;
}
#slider, #banner {
  background-color: var(--dark-cream);
  position: relative;
}
#slider:after, #banner:after {
  content: '';
  background: url(images/banner-bg.png) center top no-repeat;
  width: 100%;
  height: 100px;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}
#slider h1, #banner h1 {
  width: 85vw;
  font-family: 'Paint Brush Script';
  font-size: 120px;
  font-weight: normal;
  color: var(--white);
  text-align: center;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  line-height: 125%;
  text-transform: none;
  text-shadow: 0 0 60px rgba(0,0,0,.75);
  opacity: 0;
  -webkit-transform: translate(-50%,-50%) rotate(-5deg);
  -moz-transform: translate(-50%,-50%) rotate(-5deg);
  transform: translate(-50%,-50%) rotate(-5deg);
}
#slider h1 {
  word-spacing: -.35em;
}
#slider h1 span, #banner h1 span {
  font-size: 180px;
  display: block;
}
#banner {
  height: 70vh;
}
.banner {
  width: 100%;
  height: 100%;
  opacity: 0;
}
.banner:after {
  content: '';
  background-color: rgba(0,0,0,.5);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.scrolldown, .main__icon {
  background: url(images/circle-bg.svg) center center no-repeat;
  background-size: cover;
  width: 128px;
  height: 128px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  font-size: 24px;
  position: absolute;
  left: 50%;
  bottom: 1px;
  z-index: 3;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);  
}
.main__icon img {
  width: 48px;
  height: 48px;
  display: block;
}
.scrolldown i {
  -webkit-transition: transform .3s ease-in-out;
  -moz-transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
}
.scrolldown:hover i {
  -webkit-transform: translateY(5px);
  -moz-transform: translateY(5px);
  transform: translateY(5px);  
}

/* Flexslider */
.flexslider {
  overflow: hidden;
  opacity: 0;  
}
.flexslider,
.flexslider .slides,
.flexslider .slides > li {
  width: 100%;
  height: 100%;  
}
.flexslider .slides > li {
  overflow: hidden;
}
.flexslider .slides .slide {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
}
.flexslider .slides .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 75%;
}
.flexslider .slides .slide:after {
  content: '';
  background-color: rgba(0,0,0,.5);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.flex-active-slide .slide {
  -webkit-animation: zoomIn 5s ease forwards;
  -moz-animation: zoomIn 5s ease forwards;
  animation: zoomIn 5s ease forwards;
}
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
  }
}
@-moz-keyframes zoomIn {
  0% {
    -moz-transform: scale(1);
  }
  100% {
    -moz-transform: scale(1.1);
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

/* Content */
#content {
  background: var(--cream) url(images/content-bg.png) center bottom no-repeat;
  padding-bottom: 100px;
  position: relative;
}
.trees__bg {
  width: auto;
  height: 90%;
  display: block;
  position: absolute;
  right: 7.5vw;
  bottom: 0;
}
.small__icon {
  width: 48px;
  height: auto;
}
.circle__mask {
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.circle__mask img {
  position: absolute;
  left: 50%;
  top: 50%;
  min-width: 100%;
  height: 100%;  
  object-fit: cover;
  -webkit-transform:translate(-50%,-50%);
  -moz-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
}
.circle__mask a {
  width: 103px;
  height: 103px;
  border: 1px var(--white) dashed;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  color: var(--white);
  text-shadow: 0 0 30px rgba(0,0,0,.75);
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  transform-origin: center;
}
.circle__mask a:hover {
  -webkit-transform: translate(-50%,-50%) scale(1.1);
  -moz-transform: translate(-50%,-50%) scale(1.1);
  transform: translate(-50%,-50%) scale(1.1);  
}
.circle__mask a i {
  position: relative;
  left: 2px;  
}
video {
  width: 100%;
  max-height: 100%;
  margin-bottom: -6px;
}
.gallery a { 
	-webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.gallery a img { 
	-webkit-transition: transform .5s ease-in-out;
  -moz-transition: transform .5s ease-in-out;
  transition: transform .5s ease-in-out;
}
.gallery a:hover img { 
	-webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
}
.schedule {
  width: 100%;
  border-collapse: collapse;
}
.schedule td {
  padding: 5px 0;
  vertical-align: top;
}
.schedule td:nth-child(even) {
  width: calc(100% - 120px);
  text-align: left !important;
  text-align-last: start !important;
}
.schedule td:nth-child(odd) {
  width: 120px;
  /* text-align: right !important;
  text-align-last: end !important; */
  color: var(--dark);
}
.separator {
  position: relative;
}
.separator:before {
  content: '';
  width: 100%;
  height: 93px;
  background: url(images/separator.png) center top no-repeat;
  position: absolute;
  top: 0;
  /* -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%); */
}
section.separator .wrapper {
  padding-top: 150px;
}

/* Magnific Popup */
.popup {
  background: var(--white);
  width: auto;
  max-width: 80vw;
  margin: auto;
  padding: 0;
  position: relative;
}
.mfp-close {
  position: fixed;
  font-size: 0;
  opacity: 1;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;  
}
.mfp-close:hover {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  transform: rotate(180deg);  
}
.mfp-close:after {
  content: '\f00d';
  font-family: 'Font Awesome 5 Pro';
  font-size: 30px;
  font-weight: 300;
  color: var(--white);  
}

/* Footer */
footer {
  background: url(images/footer-bg.jpg) center bottom no-repeat;
  height: 730px;
  color: var(--white);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  text-shadow: 0 0 30px rgba(0,0,0,.75);
}
footer i {
  font-size: 48px;
  margin-bottom: 30px;
}
footer h4 {
  color: var(--white);
  margin-top: 15px;
  margin-bottom: 15px;
}
footer a {
  color: var(--white);
}
.copyright {
  display: inline-block;
  margin-top: 30px;
  margin-bottom: 90px;
  font-size: 13px;
}
.copyright span {
  margin-left: 50px;
}
.copyright a {
  font-weight: 700;
}


/* Responsive styles */
@media only screen and (max-width: 1599px) {
  .menu__left {
    margin-right: 2.5vw;
  }
  .menu__right {
    margin-left: 2.5vw;
  }
  .scrolldown, .main__icon {
    width: 114px;
    height: 114px;  
  }
  .trees__bg {
    height: 85%;
    bottom: -10px;
  }                                     
}
@media only screen and (max-width: 1199px) {
  section .wrapper {
    padding-top: calc(100px / 3 * 2);
    padding-bottom: calc(100px / 3 * 2);
  }
  section.separator .wrapper {
    padding-top: calc(150px / 3 * 2);
  }  
  nav ul {
    display: none;
  }
  #navicon {
    display: block;
  }
  header.sticky {
    position: fixed;
  }
  header.sticky .logo {
    position: absolute;
    left: 7.5vw;
    top: 40px;
  }
  nav.mobile {
    background: var(--dark) url(images/footer-bg.jpg) center bottom no-repeat;
    background-size: cover;
    background-blend-mode: multiply;
    width: 100%;
    height: 100%;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  nav.mobile ul {
    width: 100%;
    height: 50%;
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-right: 0;
    margin-left: 0;
    position: absolute;
  }
  nav.mobile .menu__left {
    justify-content: flex-end;
    top: 0;
  }
  nav.mobile .menu__right {
    justify-content: flex-start;
    top: 50%;
  }
  #slider h1, #banner h1 {
    font-size: calc(120px / 5 * 4);
  }
  #slider h1 span, #banner h1 span {
    font-size: calc(180px / 5 * 4);
  }
  #subcontent .grid:nth-child(even) {
    margin-top: 100px;  
  }
  .trees__bg {
    right: 0;
  }                                        
}
@media only screen and (max-width: 991px) {
  #slider h1, #banner h1 {
    font-size: calc(120px / 6 * 4);
  }
  #slider h1 span, #banner h1 span {
    font-size: calc(180px / 6 * 4);
  }            
}
@media only screen and (max-width: 767px) {
  section .wrapper {
    padding-top: calc(100px / 4 * 2);
    padding-bottom: calc(100px / 4 * 2);
  }
  section.separator .wrapper {
    padding-top: calc(150px / 4 * 2);
  }  
  #slider h1, #banner h1 {
    font-size: calc(120px / 8 * 4);
  }
  #slider h1 span, #banner h1 span {
    font-size: calc(180px / 8 * 4);
  }
  #subcontent .grid:nth-child(even) {
    margin-top: calc(100px / 4 * 3);  
  }  
  #subcontent .grid [class*="col-"] {
    margin-top: calc(100px / 4 * 3);  
  }    
  #subcontent .grid [class*="col-"]:nth-child(1) {
    margin-top: 0;  
  }                                         
}
@media only screen and (max-width: 575px) {
  header .wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  header.sticky .logo {
    top: 30px;
  }
  #navicon {
    top: 51px;
  }
  #slider h1, #banner h1 {
    font-size: calc(120px / 9 * 4);
  }
  #slider h1 span, #banner h1 span {
    font-size: calc(180px / 9 * 4);
  }
  .scrolldown, .main__icon {
    width: 96px;
    height: 96px;  
  }
}
@media only screen and (max-width: 479px) {
  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 24px;
  }
  h3 {
    font-size: 18px;
  }
  #slider h1, #banner h1 {
    font-size: calc(120px / 11 * 4);
  }
  #slider h1 span, #banner h1 span {
    font-size: calc(180px / 11 * 4);
  }
  .copyright span {
    margin-left: 0;
    display: block;
  }                                      
}                      