html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

@font-face {
  font-family: 'AndreSans';
  src:  url('fonts/ATAndreSansVF.woff2') format('woff2'),
        url('fonts/ATAndreSansVF.woff') format('woff');
  font-style: normal;
}

body {
  font-family: 'AndreSans', Arial, sans-serif;
  padding: 12px;
  background-color: #f6f6f6;
  background-size: cover;
  overflow-x: hidden;
}

.container-md {
  max-width: 960px;
}

a {
  text-decoration: none;
  color: #888;
}

a:hover {
  color: #25a0de;
}

p {
  padding: 0;
  letter-spacing: 2%;
}

b {
  font-weight: 590;
}




/* HEADER */

.langSelect {
  padding-top: 4px;
  padding-left: 16px;
  font-size: 13px;
}

.langSelect a {
  color: #3d3d3d;
}

.langSelect a:hover {
  color: #25a0de;
}

h1 {
  font-size: 60px;
  line-height: 56px;
  color: #3d3d3d;
  margin-top: 36px;
}

@keyframes color {
  from {
    background-position: 0% 100%;
  }
  to {
    background-position: 100% 0%;
  }
}

.surname {
  color: transparent;
  background: rgb(255, 0, 0);
  background: linear-gradient(
    90deg,
    #41ccc7 0%,
    #29b7fd 25%,
    #277cdb 50%,
    #343ab2 75%,
    #9c3aab 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 500%;
  animation: color 4s linear infinite alternate;
}

.gr {
  color: transparent;
  font-size: 28px;
  font-weight: initial;
  display: inline-block;
}

.surname:hover + .gr {
  color: #9c3aab;
}

.photoContainer {
  position: static;
  z-index: -1;
}

@media (min-width: 768px) {
  .photoContainer {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  } 

  .photoParent {
    position: relative;
    right: -31px;
  }
}

.photoParent {
  width: 212px;
  height: 212px;
  background-image: url("nikosvasilakis.jpg");
  background-size: 212px 212px;
  overflow: hidden;
}

.photoFrame {
  width: 150px;
  height: 150px;
  background-color: transparent;
  outline-style: solid;
  outline-width: 100px;
  outline-color: #f6f6f6;
  -webkit-animation: squareToCircle 5s 1s infinite alternate;
  position: relative;
  top: 31px;
  left: 31px;
}

@-webkit-keyframes squareToCircle {
    0% {
      border-radius: 0 0 0 0;
      transform: rotate(-90deg);
    }
    25% {
      border-radius: 50% 0 0 0;
      transform: rotate(-45deg);
    }
    50% {
      border-radius: 50% 50% 0 0;
      transform: rotate(0deg);
    }
    75% {
      border-radius: 50% 50% 50% 0;
      transform: rotate(45deg);
    }
    100% {
      border-radius: 50% 50% 50% 50%;
      transform: rotate(90deg);
    }
}





/* CATEGORY TITLES */

#accordionCategories {
  margin-top: 48px;
}

.categories {
  font-size: 24px;
  color: #3d3d3d;
  margin: 0;
}

hr {
  margin-top: 8px;
  margin-bottom: 8px;
  opacity: 0.15;
  position: relative;
  width: 200%;
}

.photographyCategory:hover {
  color: #41ccc7;
}

.photoshopCategory:hover {
  color: #277cdb;
}

.financeCategory:hover {
  color: #29b7fd;
}

.metalsCategory:hover {
  color: #343ab2;
}

.webCategory:hover {
  color: #9c3aab;
}

.pastCategory:hover {
  color: #797979;
}

.contactCategory {
  font-size: 14px;
  font-weight: normal;
  border-style: solid;
  border-width: 1px;
  border-color: #ccc;
  border-radius: 8px;
  padding: 8px 16px 8px 16px;
  margin-top: 56px;
  margin-bottom: 80px;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease ;
}

.contactCategory:hover {
  color: #f6f6f6;
  background-color: #3d3d3d;
  border-color: #3d3d3d;
}

.card {
  border-style: none;
  margin-top: 32px;
  margin-bottom: 20px;
  background-color: white;
}






/* inCard */

.inCardContainer {
  padding-left: 0;
  padding-right: 0;
}

.inCardTitle {
  margin-bottom: 16px;
  font-size: 20px;
}

.inCardRow:not(:first-child) .inCardTitle {
  margin-top: 40px;
}

.inCardPhoto {
  padding: 0;
  margin-left: 12px;
  margin-bottom: 16px;
  width: var(--step);
  image-rendering: high-quality;
  border-style: solid;
  border-width: 1px;
  border-color: #ccc;
}

a .inCardPhoto {
  margin-left: 0px;
}

.inCardPhotoSm {
  width: 160px;
}

.inCardDesc {
  margin-left: 12px;
  margin-bottom: 0;
  padding-right: 18px;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
}





/* SLIDESHOW */

:root {
  --step: 400px; /* This is the step used for slideshows and images */
}

#slideshow {
  overflow: hidden;
  width: var(--step);
  margin-left: 12px;
  margin-bottom: 16px;
  border-style: solid;
  border-width: 1px;
  border-color: #ccc;
}

.slide-wrapper {
  width: calc(7 * var(--step));
  -webkit-animation: slide 12s infinite;
}

.slide {
  float: left;
  width: var(--step);
}

.slide-number {
  padding: 0;
  margin-left: -12px;
  width: var(--step);
  image-rendering: high-quality;
}

@-webkit-keyframes slide {
  10% {margin-left: calc( 0 * var(--step));}
  14% {margin-left: calc(-1 * var(--step));}
  24% {margin-left: calc(-1 * var(--step));}
  28% {margin-left: calc(-2 * var(--step));}
  38% {margin-left: calc(-2 * var(--step));}
  42% {margin-left: calc(-3 * var(--step));}
  52% {margin-left: calc(-3 * var(--step));}
  56% {margin-left: calc(-4 * var(--step));}
  66% {margin-left: calc(-4 * var(--step));}
  70% {margin-left: calc(-5 * var(--step));}
  80% {margin-left: calc(-5 * var(--step));}
  84% {margin-left: calc(-6 * var(--step));}
  94% {margin-left: calc(-6 * var(--step));}
}

@media (max-width: 470px) {
  :root {
    --step: 370px;
  }
}

@media (max-width: 440px) {
  :root {
    --step: 340px;
  }
}

@media (max-width: 420px) {
  :root {
    --step: 280px;
  }
}






/* CONTACT */

#blackContact {
  background-color: #333;
  width: 200%;
  height: 500px;
  position: absolute;
  margin-top: 36px;
  left: -50%;
  z-index: -1;
  display: none;
}

@media (max-width: 768px) {
  #blackContact {
    height: 760px;
  }
}

.activeContactCategory {
  color: #f6f6f6;
  border-style: none;
  margin-left: -16px;
  margin-bottom: -8px;
}

#contactCollapse .card {
  background-color: transparent;
}

.activeContactCategory:hover {
  background-color: #333;
}

.activeContactCollapse {
  color: #f6f6f6;
}

.contactRow {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .contactRow {
    margin-bottom: 8px;
  }
}

.contactLinkTitle {
  padding-right: 0px;
}

.contactLink a {
  padding: 0px;
  color: #999;
}

.contactLink a:hover {
  color: #25a0de;
}

.location {
  margin-bottom: 24px;
  color: #999;
}

