/* RESET */
ul, li, p, a, h1, h2 {
  margin: 0;
  padding: 0;
  text-rendering: optimizeLegibility;
}

/* VARIABLES */
/* GENERAL STYLING */
p {
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  line-height: 1.75;
  color: #3e3e3e;
  margin-bottom: 30px;
}

label, input, textarea, li {
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  line-height: 1.75;
  color: #3e3e3e;
}

a, button {
  color: #009394;
  cursor: pointer;
  font-family: 'PT Sans', helvetica, arial, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 1em;
  transition: color ease 0.15s;
}

a:not(.active):not(.button):not(.link-inblock):hover {
  color: #3e3e3e;
}

h1 {
  font-family: 'PT Sans', helvetica, arial, sans-serif;
  font-size: 3em;
  font-weight: 300;
  line-height: 1;
  color: #fff;
  text-shadow: 3px 3px 8px #444;
  margin-bottom: 45px;
}

h2 {
  font-family: 'PT Sans', helvetica, arial, sans-serif;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1;
  color: #3e3e3e;
  margin-bottom: 15px;
}

button, .button {
  display: inline-block;
  color: #fff;
  background-color: #e64e12;
  border-radius: 50px;
  padding: 10px 20px;
  text-decoration: none;
  transition: background ease 0.15s;
}

button:hover, .button:hover {
  background-color: #d34811;
}

a.social-media {
  display: flex;
  line-height: 36px;
  color: #3e3e3e;
  transition: color ease 0.15s;
}

a.social-media span {
  width: 36px;
  height: 36px;
  display: flex;
  margin-left: 15px;
  line-height: normal;
  background-color: #009394;
  border-radius: 50%;
  transition: background ease 0.15s;
}

a.social-media span img {
  width: 10px;
  margin: auto;
  transform: rotateZ(0deg) scale(0.9);
  transition: transform ease 0.25s;
}

a.social-media:hover {
  color: #000;
}

a.social-media:hover span {
  background-color: #007a7b;
}

a.social-media:hover span img {
  transform: rotateZ(-15deg) scale(1) !important;
}

/* CUSTOM STYLING */
body {
  background-color: #d9d9d9;
}

header {
  display: flex;
  flex-direction: column;
}

header .top-bar {
  width: 100%;
  height: 86px;
  display: flex;
  padding: 0 120px;
  background-color: #fff;
  align-items: center;
  justify-content: space-between;
}

header .hamburger {
  height: 86px;
  position: absolute;
  right: 45px;
  z-index: 60;
  display: none;
}

header .hamburger > div {
  width: 30px;
  height: 30px;
  display: flex;
  margin: auto 0;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
}

header .hamburger > div div {
  width: 100%;
  height: 2px;
  position: absolute;
  background-color: #009394;
  transition: 0.15s;
}

header .hamburger > div div:first-child {
  transform: translateY(-8px);
}

header .hamburger > div div:last-child {
  transform: translateY(8px);
}

header .hamburger > div:hover div:first-child {
  transform: translateY(-5px);
}

header .hamburger > div:hover div:last-child {
  transform: translateY(5px);
}

header a.logo {
  line-height: 0;
}

header a.logo img {
  height: 26px;
}

header nav.large {
  display: flex;
}

header nav.large ul {
  display: flex;
  list-style: none;
  margin-right: 15px;
}

header nav.large ul li {
  margin-right: 30px;
}

header nav.large ul li a {
  padding: 15px 0;
  line-height: 36px;
  text-decoration: none;
}

header nav.large ul li.current-menu-item a {
  text-decoration: underline;
}

header .header-photo {
  position: relative;
  padding-top: 120px;
  padding-bottom: 240px;
  overflow: hidden;
}

header .header-photo .photo {
  width: 115%;
  height: 115%;
  position: absolute;
  top: 0;
  background-size: cover;
  background-position: center;
}

header .header-photo h1 {
  position: relative;
}

header .header-photo .intro {
  position: relative;
  background: rgba(255, 255, 255, 0.7);
  padding: 45px;
}

header nav.small {
  width: 100%;
  height: 100%;
  position: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 50;
  height: 0%;
  text-align: center;
  background-color: #009394;
  overflow: hidden;
  transition: height 0.25s ease;
}

header nav.small ul {
  list-style: none;
  margin-top: 60px;
}

header nav.small ul li a {
  width: 100%;
  height: 100%;
  display: block;
  text-decoration: none;
  color: #fff;
  line-height: 3;
}

header nav.small ul li a.active {
  text-decoration: underline;
}

header nav.small a.social-media {
  margin-top: 30px;
}

header nav.small a.social-media span {
  background-color: #fff;
}

header nav.small a.social-media span img {
  width: 10px;
  margin: auto;
  transform: rotateZ(0deg) scale(0.9);
  transition: transform ease 0.25s;
}

header nav.small a.social-media:hover span {
  background-color: #3e3e3e;
}

header.menu-open .hamburger {
  position: fixed;
}

header.menu-open .hamburger div div:first-child {
  transform: rotateZ(-45deg);
  background-color: #fff;
}

header.menu-open .hamburger div div:nth-child(2) {
  opacity: 0;
}

header.menu-open .hamburger div div:last-child {
  transform: rotateZ(45deg);
  background-color: #fff;
}

header.menu-open nav.small {
  height: 100%;
}

@media print, screen and (max-width: 1230px) {
  header .hamburger {
    display: flex;
  }
  header .top-bar {
    padding: 0 45px;
  }
  header nav.large {
    display: none;
  }
}

section.news-recent .white, article.publication .white, section.contact .white, section.product-detail .white, section.publication-detail .white {
  width: 100%;
  background-color: #fff;
  padding: 60px 0;
  transform: translateY(-120px);
}

section.news-recent .news-photo, article.publication .news-photo, section.contact .news-photo, section.product-detail .news-photo, section.publication-detail .news-photo {
  width: 100%;
  padding-top: 75%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

section.news-recent .info, article.publication .info, section.contact .info, section.product-detail .info, section.publication-detail .info {
  display: flex;
  flex-direction: column;
}

section.news-recent .info a.button, article.publication .info a.button, section.contact .info a.button, section.product-detail .info a.button, section.publication-detail .info a.button {
  margin-top: auto;
  margin-right: auto;
}

section.featured-products {
  display: flex;
  flex-direction: column;
  margin-bottom: 120px;
}

section.featured-products .container {
  display: flex;
  flex-wrap: wrap;
}

section.featured-products .container .product {
  flex-basis: 33.33333333333333%;
  height: 800px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

section.featured-products .container .product .product-photo {
  width: 100%;
  height: 100%;
  position: absolute;
  transform: scale(1.25) rotateZ(0) translateY(0);
  z-index: -1;
  left: 0;
  top: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: transform 0.5s ease;
}

section.featured-products .container .product .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.5s ease;
}

section.featured-products .container .product .info {
  width: 100%;
  position: absolute;
  padding: 30px;
  bottom: 45px;
  background: rgba(255, 255, 255, 0.7);
  text-align: center;
  transition: background 0.25s ease;
}

section.featured-products .container .product .info .text {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.25s ease, height 0.25s ease;
}

section.featured-products .container .product:hover .info {
  background: white;
}

section.featured-products .container .product:hover .info .text {
  opacity: 1;
}

section.featured-products .container .product:hover .info a.link-inblock {
  color: #3e3e3e;
}

section.featured-products .container .product:hover .product-photo {
  transform: scale(1.15) rotateZ(-3deg) translateY(-20px);
}

section.featured-products .container .product:hover .overlay {
  opacity: 0.25;
}

section.featured-products .button {
  margin-left: auto;
  margin-right: auto;
  margin-top: 45px;
}

section.partners {
  position: relative;
  z-index: 10;
}

section.partners .white {
  width: 100%;
  background-color: #fff;
  padding: 60px;
}

section.partners .white h2 {
  margin-bottom: 30px;
}

section.partners .white .container-slideshow {
  display: flex;
  position: relative;
  align-items: center;
}

section.partners .white .container-slideshow .button-left, section.partners .white .container-slideshow .button-right {
  width: 30px;
  height: 30px;
  position: absolute;
  background-color: #e64e12;
  border-radius: 50px;
  transition: background ease 0.15s, transform ease 0.25s, opacity ease 0.25s;
  cursor: pointer;
  display: none;
}

section.partners .white .container-slideshow .button-left.appear, section.partners .white .container-slideshow .button-right.appear {
  display: flex;
}

section.partners .white .container-slideshow .button-left {
  left: 0;
}

section.partners .white .container-slideshow .button-left::after {
  content: "";
  width: 0;
  height: 0;
  margin: auto 0 auto 11px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid white;
  transition: transform ease 0.15s;
}

section.partners .white .container-slideshow .button-left:hover {
  background-color: #d34811;
  transform: translateX(-6px) translateY(-2px);
}

section.partners .white .container-slideshow .button-left:hover::after {
  transform: scale(1) translateX(-2px) translateY(-1px);
}

section.partners .white .container-slideshow .button-right {
  right: 0;
}

section.partners .white .container-slideshow .button-right::after {
  content: "";
  width: 0;
  height: 0;
  margin: auto 0 auto 13px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid white;
  transition: transform ease 0.15s;
}

section.partners .white .container-slideshow .button-right:hover {
  background-color: #d34811;
  transform: translateX(6px) translateY(-2px);
}

section.partners .white .container-slideshow .button-right:hover::after {
  transform: translateX(2px) translateY(-1px);
}

section.partners .white .container-slideshow ul {
  display: flex;
  flex-basis: 542px;
  flex-wrap: nowrap;
  margin: auto;
  list-style: none;
  overflow: hidden;
}

section.partners .white .container-slideshow ul li {
  flex-shrink: 0;
  padding: 0 30px;
  transition: margin ease 0.5s;
}

section.partners .white .container-slideshow ul li img {
  width: 120px;
}

footer {
  background-color: #12585c;
  background-image: url("../content/footer.jpg");
  background-size: cover;
  padding-top: 120px;
  padding-bottom: 120px;
}

footer a.logo {
  display: block;
  line-height: 0;
  margin-bottom: 30px;
}

footer a.logo img {
  height: 26px;
}

footer h2 {
  color: #fff;
}

footer ul {
  list-style: none;
}

footer ul li {
  color: #bfbfbf !important;
  font-style: italic;
  line-height: 2;
}

footer ul li a {
  color: #bfbfbf !important;
}

footer ul li a:hover {
  color: #fff !important;
}

body.home footer {
  position: relative;
  margin-top: -120px;
  padding-top: 240px;
}

/* CUSTOM STYLING OTHER PAGES */
.header-color {
  width: 100%;
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #12585c;
  background-size: cover;
  background-position: center;
}

.text-area {
  width: 100%;
  background-color: #fff;
  padding: 45px;
  column-count: 2;
  margin-top: -120px;
  margin-bottom: 120px;
}

section.values {
  text-align: center;
  margin-bottom: 60px;
}

section.values .column {
  margin-bottom: 60px;
}

section.values .column h2 img {
  margin-right: 10px;
}

section.values .column p {
  margin-bottom: 0;
}

article.publication:not(:last-child) {
  margin-bottom: 60px;
}

section.contact .white h2 {
  margin-bottom: 45px;
}

section.contact .white .phone-mail a {
  margin-right: 15px;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 30px;
}

section.contact .white .phone-mail a img {
  margin-right: 10px;
}

section.contact .white .phone-mail a span {
  border-bottom: 1px solid #009394;
  padding-bottom: 5px;
  display: inline-block;
}

section.contact .white p.info {
  color: #a4a4a4;
}

section.contact .white fieldset {
  margin-bottom: 15px;
}

section.contact .white p.succes {
  margin: 0;
  margin-top: 15px;
  color: #009394;
}

section.contact .white fieldset label {
  display: block;
}

section.contact .white fieldset input, section.contact .white fieldset textarea {
  width: 100%;
  border: none;
  background-color: #d9d9d9;
  transition: color 0.15s ease;
}

section.contact .white fieldset input:focus, section.contact .white fieldset textarea:focus {
  outline: none;
  color: black;
}

section.contact .white fieldset input {
  padding: 5px 10px;
}

section.contact .white fieldset textarea {
  height: 150px;
  padding: 10px;
  resize: none;
  border-radius: 0%;
}

section.contact .white .error {
  display: none;
}

section.product-detail a.link {
  display: block;
  margin-bottom: 60px;
}

section.product-detail .green {
  display: flex;
  flex-direction: column;
  background-color: #12585c;
  padding: 30px;
}

section.product-detail .green p {
  color: #fff;
  margin-bottom: 15px;
}

section.product-detail .green ul {
  list-style-position: inside;
}

section.product-detail .green ul li {
  color: #fff;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

section.product-detail .green ul:not(:last-of-type) {
  margin-bottom: 30px;
}

section.product-detail .green a.button {
  margin-top: 30px;
  background-color: #fff;
  color: #e64e12;
  margin-left: auto;
  margin-right: auto;
}

section.product-detail .green a.button::before{
  content:"";
  display: inline-block;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: middle;
}

section.product-detail .green a.android::before{
  background-image: url(assets/images/android.svg);
}

section.product-detail .green a.apple::before{
  background-image: url(assets/images/apple.svg);
}

section.product-detail .green a.button:hover {
  background-color: #e6e6e6;
}

section.publication-detail a.link {
  display: block;
  margin-bottom: 60px;
}

section.publication-detail .info {
  text-align: center;
}

section.publication-detail .info img {
  margin-bottom: 15px;
}

section.publication-detail .info p {
  color: #a4a4a4;
  font-size: 0.875em;
  margin-bottom: 0;
}

section.publication-detail .info a.link {
  color: #a4a4a4;
  font-size: 0.875em;
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  font-style: normal;
  font-weight: normal;
}

section.publication-detail .info a.link:hover {
  color: #009394;
}

section.publication-detail .extra-text {
  margin-top: 30px;
}

section.publication-detail .white .row .columns:last-child p {
  margin-bottom: 0;
}

section.publication-detail .white .row .columns:last-child img {
  margin-bottom: 0;
}

/* MEDIA QUERIES*/
@media print, screen and (max-width: 1023px) {
  header .top-bar {
    padding: 0 15px;
  }
  header .hamburger {
    right: 15px;
  }
  section.news-recent a.link {
    margin-bottom: 45px;
  }
  section.news-recent .news-photo, article.publication .news-photo {
    height: 300px;
    padding-top: 0;
    margin-bottom: 30px;
  }
  section.featured-products .container .product {
    height: 500px;
  }
  section.partners .white {
    padding: 45px 30px;
  }
  footer {
    padding-bottom: 75px;
  }
  footer a.logo {
    margin-bottom: 45px;
  }
  footer .medium-6 {
    margin-bottom: 45px;
  }
  body.home footer {
    margin-top: -60px;
    padding-top: 120px;
    padding-bottom: 15px;
  }
}

@media print, screen and (max-width: 639px) {
  h1 {
    font-size: 2.25em;
    margin-bottom: 30px;
  }
  header a.logo img {
    height: 18px;
  }
  header .header-photo {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  section.news-recent .white, article.publication .white, section.contact .white, section.product-detail .white, section.publication-detail .white {
    transform: translateY(-60px);
  }
  section.featured-products {
    margin-bottom: 60px;
  }
  section.featured-products .container {
    flex-direction: column;
  }
  section.featured-products .container .product {
    margin-bottom: 0;
  }
  section.featured-products a.button {
    margin-top: 30px;
  }
  section.partners .white .container-slideshow ul {
    flex-basis: 180px;
  }
  footer {
    text-align: center;
  }
  .header-color {
    width: 100%;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .text-area {
    padding: 45px;
    margin-top: -60px;
    column-count: 1;
    margin-bottom: 60px;
  }
  section.values {
    margin-bottom: 0;
  }
}
