:root {
  --primary: #111;
  --white: #f2f2f2;
  --grey: #666;

  --second: #D7DFE4;
  --third: #E9DEE3;
  --forth: #EDEBE2;
  --fifth: #D4CFD8;
}

@font-face {
    font-family: Satoshi Regular;
    src: url(satoshi-regular.otf);
}

@font-face {
    font-family: Cabinetgrotesk Medium;
    src: url(cabinetgrotesk-medium.ttf);
}

body {
	font-family: Satoshi Regular;
	font-size: 24px;
	line-height: 1.3;
	
	background-color: var(--white);
	color: var(--primary);
	margin: 0 auto 0 auto;
  
  overflow-x: hidden;
}

h1 {
	font-size: 28px;
  line-height: 1;
	font-weight: 400;
  text-transform: uppercase;
}

h2 {
  font-size: 24px;
}

p {
  margin-bottom: 12px;
}

.small-text {
  font-size: 13px;
  text-transform: uppercase;
}

a {
 color: var(--grey);
 text-decoration: none;
 transition:0.3s all ease;
}

a:hover {
color: var(--primary);
}

li {
  list-style-type: none;
  padding: 0;
}

header {
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: space-between;
	padding: 20px 40px;
}

header, section,
.about, .slideshow, .columns,
footer {
  position: sticky;
  position: -webkit-sticky;
  top: 0px;
}

.about {
  min-height: 100vh;
  padding: 20px 40px;
  background-color: var(--second);
}

.info {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 70%;
  min-height: 85vh;
  margin-right: 80px;
}

.contact {
  align-items: flex-end;
}

.services {
  display: flex;
  flex-direction: column;
  width: 30%;
}

.slideshow {
  overflow: hidden;
  width: 100vw;
  height: 100vh;
}

.holder {
  position: relative;
  top: 0;
  left: 0;
  width: 10000vw;
  height: 100vh;
  transition: left 1s;
}

.holder div {
  float: left;
  width: 100vw;
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 40px;
  
  color: var(--white);
}

.slide-1 {
  background-image: url(img1.jpg);
  object-fit: cover;
}

.slide-2 {
  background-image: url(img2.jpg);
  object-fit: cover;
}

.slide-3 {
  background-image: url(img3.jpg);
  object-fit: cover;
}

.slide-4 {
  background-image: url(img4.jpg);
  object-fit: cover;
}

.slide-5 {
  background-image: url(img5.jpg);
  object-fit: cover;
}

.columns {
  min-height: 100vh;
  background-color: var(--forth);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 40px;
}

.columns div {
  width: 33.33%;
}

.columns .column {
   padding-right: 40px;
  padding-left: 40px;
}

.container {
  width: 100%;
  display: grid;
  padding: 8px 0 8px 0;
}

.container div.info {
  display: none;
  font-size: 18px;
  margin: 20px 0;
}

.container.opened div.info {
  display: block;
}

footer {
  min-height: 100vh;
  padding: 40px 40px 20px 40px;
  background-color: var(--fifth);
}

@media (max-width:700px){
  body {
    font-size: 20px;
  }
header,
section,
.about, .slideshow,
footer {
  position: relative;
}
  .about,
  .columns,
  footer {
    min-height: 0vh;
  }
  .about .info,
  .slideshow {
    display: flex;
    flex-direction: column;
  } 
  .content {
    min-height: 0vh;
    width: 100%;
  }
  .services {
    width: 100%;
    margin: 40px 0 40px 0;
  }
  .columns {
    display: block;
  }
  .columns div {
    width: 100%;
  }
  .columns .column {
    padding-left: 0;
    padding-right: 0;
  }
  .contact {
    margin-top: 20px;
  }
  footer .info {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media (max-width: 420px) {
  header {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
  }
  h1 {
    font-size: 24px;
    line-height: 1.3;
  }
  h2 {
    font-size: 20px;
  }
  .about,
  .columns,
  footer {
    padding: 20px;
  }
  .slideshow {
    max-height: 40vh;
  }
  .holder div {
    padding: 20px;
    height: 40vh;
  }
}
