/* -------------------------------------------------*/
/*  BASIC SETUP */
/*--------------------------------------------------*/
.bodies {
  display: grid;
  justify-content: center;
  align-content: center;
  background-color: #0e100f;
  height: 100svh;
  width: 100%;
  margin: 0;
  overflow: hidden;
  user-select: none;
}

.sgrid {
  --gap: 12px;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
.srow {
  display: flex;
  gap: var(--gap);
}

.scell {
  --size: 24px;
  width: var(--size);
  height: var(--size);
  background-color: #fffce1;
  border-radius: 50%;
  will-change: transform;
  cursor: pointer;
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body{
    background-color: #fff;
    color: #555;
    font-family: 'Roboto', 'Arial', sans-serif;
    font-weight: 300;
    font-size: 20px;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

.clearfix {zoom: 1}
.clearfix:after {
    content: '-';
    clear:both;
    display: block;
    height: 0;
    visibility: hidden;
}

/* -------------------------------------------------*/
/*  REUSABLE COMPONENTS */
/*--------------------------------------------------*/


.row{
    max-width: 1140px;
    margin:0 auto;
    
}
.row1{
    max-width: 1140px;
    margin:0 auto;
    
}

.href{
    color:#fdfff0;
}

section{
    padding: 80px 0;   
}

.box{
    padding: 1%;
}


/*----- HEADINGS ------*/


h1,h2,h3{
   
  
    font-weight: 300;
    
}

h1{
    margin: 0;
    margin-bottom: 20px;
    color: #fff;
    font-size: 240%;
    word-spacing: 4px;
    letter-spacing: 1px;

}

h2{
    font-size: 180%;
    word-spacing: 2px;
    text-align: center;
    margin-bottom: 30px;
    letter-spacing: 1px;
    
}

h3{
    font-size: 110%;
    margin-bottom: 15px;
}

h2:after {
    display: block;
    height: 2px;
    background-color: #2980b9; 
    content: " ";
    width: 100px;
    margin: 0 auto;
    margin-top: 30px;
}



/*----- PARAGRAPHS ------*/

.long-copy {
    line-height: 145%;
    width:70%;
    margin-left: 15%;
}

.box p{
    font-size: 90%;
    line-height: 145%;
}

/*----- ICONS ------*/
.icon-big {
    font-size: 300%;
    display:block;
    color: #2980b9;
    margin-bottom: 10px;
}

.icon-small {
    display: inline-block;
    width: 50px;
    text-align: center;
    font-size: 150%;
    margin-right: 10px;
    
    /*sevrets to align text and icons*/
    line-height: 120%;
    vertical-align: middle;
    margin-top: -5px;
    margin-left: 50px;
}



.cv-icon {
    text-align: center;
    font-style: normal; 
   
}

/*----- BUTTONS ------*/

.btn:link,
.btn:visited,
input[type=submit] {
    display: inline-block;
    padding: 10px 30px;
    font-weight: 300;
    text-decoration: none;
    border-radius: 200px;
    -webkit-transition: background-color 0.2s, border 0.2s, color 0.2s;
    transition: background-color 0.2s, border 0.2s, color 0.2s;
    
}



.btn-full:link,
.btn-full:visited,
input[type=submit] {
    background-color: #2980b9;
    border: 1px solid #2980b9;
    color: #fff;
    margin-right: 15px;
    
}

.btn-ghost:link,
.btn-ghost:visited{
    border: 1px solid #2980b9;
    color: #2980b9;
}



.btn:hover,
.btn:active,
input[type=submit]:hover,
input[type=submit]:active{
   background-color:#236d9d;
}

.btn-full:hover,
.btn-full:active {

    border: 1px solid #236d9d;  
}

.btn-ghost:hover,
.btn-ghost:active{
    border: 1px solid #29b943;
    color: #fff;
     background-color:#29b943;
}


/* -------------------------------------------------*/
/*  HEADER */
/*--------------------------------------------------*/
    
header{
    background-image: -webkit-linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url(img/background-agrafiotis.jpg);
    background-image: linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(img/background-agrafiotis.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    height: 100vh;
    background-attachment: fixed;
}

.header-text-box{
 position: absolute;
    width: 1140px;
    top: 70%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    
}

.logo{
    height: 100px;
    width: auto;
    float: left;
    margin-top: 20px;
}

.logo-black {
    display: none;
    height: 50px;
    width: auto;
    float: left;
    margin-top: 5px 0;
}
  /* MAIN NAV*/


.main-nav {
    float: right;
    list-style: none;
    margin-top: 30px;
    
}

.main-nav li {
    display: inline-block;
    margin-left: 40px;
  
}

.main-nav li a:link,
.main-nav li a:visited {
    padding: 2px 0;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 90%;
    border-bottom: 2px solid transparent;
    -webkit-transition: border-bottom 0.2s;
    transition: border-bottom 0.2s;
}

.main-nav li a:hover,
.main-nav li a:active {
    border-bottom: 2px solid #2980b9;
    
}

/* Mobile navi*/


.mobile-nav-icon {
    float: right;
    margin-top: 30px;
    cursor: pointer;
    display: none;
}

mobile-nav-icon{
    font-size: 200%;
    color: #fff;
}

/* STICKY NAV*/
.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 2px 2px #efefef;
    z-index: 9999;
}

.sticky .main-nav {margin-top: 15px;}

.sticky .main-nav li a:link,
.sticky .main-nav li a:visited {
    padding: 13px 0;
    color: #333e66;
}

.sticky .logo { display: none;}
.sticky .logo-black {display: block;}


/* -------------------------------------------------*/
/*  FEATURES */
/*--------------------------------------------------*/
.section-features .long-copy{
    margin-bottom: 40px;
}


/* -------------------------------------------------*/
/*  LANGS */
/*--------------------------------------------------*/
.section-lang{
    padding: 0;
    
}
.lang-showcase {
    list-style: none;
    width:100%;
}


.lang-showcase li {
    display: block;
    float: right;
    width:30%;
    margin-right: 10px;
}

.lang-photo {
    width: 60%;
    margin: 0;
   
    
}
.lang-photo img{
    width: 80%;
    height: auto;
    
    
}
.level{
    margin-left: 200px;
    margin-top: -142px;
    width: 150px;
    height: 142px;
    
}
.level h3 {
    margin-left: 10px;
    margin-bottom: 0;
}

    

figure {
    
    position: relative;
}
figure img {
    display: block;
    
    z-index: 10;
    max-width: 100%;
    height: auto;
}

figure figcaption  {
    display: block;
    position: absolute;
    z-index: 5;
}
figure h3 {
    color: #101010;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 40px;
}
figure span {
    color: #888;
    display: block;
    line-height: 1.2;
}
figure a.close-caption {
    display: block;
    position: absolute;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 44px;
    font-size: 24px;
    font-weight: 700;
    color: #659ccb;
}
figure a.close-caption.hidden {
    display: none

} 

/* -------------------------------------------------*/
/*  Load Animation */
/*--------------------------------------------------*/

@-webkit-keyframes 
load { 0% {
stroke-dashoffset:0
}
}
@-moz-keyframes 
load { 0% {
stroke-dashoffset:0
}
}
@keyframes 
load { 0% {
stroke-dashoffset:0
}
}

/* -------------------------------------------------*/
/*  Progress Bar */
/*--------------------------------------------------*/
.progress {
  position: relative;
  /*display: inline-block;*/
  padding: 0;
  text-align: center;
}
.progress>li {
  display: inline-block;
  position: relative;
  text-align: center;
  color: #93A2AC;
  font-family: Lato;
  font-weight: 100;
  margin: 2rem;
}

.progress>li:before {
  content: attr(data-name);
  position: absolute;
  width: 100%;
  bottom: -2rem;
  font-weight: 400;
}

.progress>li:after {
  content: attr(data-percent);
  position: absolute;
  width: 100%;
  top: 3.7rem;
  left: 0;
  font-size: 2rem;
  text-align: center;
}

.progress svg {
  width: 10rem;
  height: 10rem;
}

.progress svg:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
}

.progress svg:nth-child(2) path {
  fill: none;
  stroke-width: 25;
  stroke-dasharray: 629;
  stroke: rgba(255, 255, 255, 0.9);
  -webkit-animation: load 10s;
  -moz-animation: load 10s;
  -o-animation: load 10s;
  animation: load 10s;
}

/* -------------------------------------------------*/
/*  PROJECTS */
/*--------------------------------------------------*/

.section-projects {
    background-color: #f4f4f4;
}
.box img{
    width: 100%;
    height: 180px;
    margin-bottom: 15px;
    border: 1px solid #b4b2b2;
    border-radius: 4px;
    padding: 5px;
}

.project-feature {
    margin-bottom: 5px;
}
.title{
    text-align: center;
}

/* ------------------------------------------------------------ *\
|* ------------------------------------------------------------ *|
|* OVERLAY
|* ------------------------------------------------------------ *|
\* ------------------------------------------------------------ */

.simple_overlay {
    display: none;
    
    /* place overlay on top*/
    z-index: 10000;
    
    /*styling*/
    background-color: #333;
    width: 675px;
    min-height: 200px;
    border: 1px solid #666;
    
    
    /*ccs3 styling*/
    -moz-box-shadow: 0 0 90px 5px #000;
    -webkit-box-shadow: 0 0 90px #000;
}
   /* close button */
.simple_overlay .close {
    background-image:url(img/close.png);
    position: absolute;
    right: -15px;
    top: -15px;
    cursor: pointer;
    height: 35px;
    width: 35px; 
}
 /*styling for elements inside overlay */
.details {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 15px;
    color: #fff;
    width: 150px;
}

.details h3{
    color:#aba;
    font-size: 15px;
}
/* -------------------------------------------------*/
/*  PARTNERS */
/*--------------------------------------------------*/

.section-partners {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)),url(img/code.jpg);
    background-size: cover;
    color: #fff;
    background-attachment: fixed;
}

blockquote {
    padding: 2%;
    font-size: italic;
    line-height: 145%;
    position: relative;
    margin-top: 40px;
}

blockquote:before {
    content: "\201C";
    font-size: 500%;
    display: block;
    position: absolute;
    top: 0;
    left: -3px;
}

cite{
    font-size: 90%;
    margin-top: 10px;
    display: block;
}

cite img {
    height: 80px;
    width: 70%;
    border-radius: 3%;
    margin-left: 20px;
    vertical-align: middle;
}

/* -------------------------------------------------*/
/*  FORM */
/*--------------------------------------------------*/

.contact-form {
    width: 60%;
    margin: 0 auto;
}

input[type=text],
input[type=email],
textarea {
    width: 100%;
    padding: 7px;
    border-radius: 3px;
    border: 1px solid #ccc;
}


textarea {
    height: 100px;
}

*:focus {outline: none;}

.form-box{
    top: 0;
    right: 0;
    height: 440px;
    margin-bottom: 30px;
    
   
        
    
}

.form-messages {
    width: 70%;
    margin: 0 auto;
    padding: 10px;
    border-radius: 3px;
    margin-bottom: 10px;
    color: #333;
}

.success { background-color: #29b943;}
.error { background-color: #e74c3c;}

/* -------------------------------------------------*/
/*  FOOTER */
/*--------------------------------------------------*/

footer {
    background-color: #333;
    padding: 30px;
    font-size: 80%;
}

.footer-nav {
    list-style: none;
    float:left;
}

.social-links {
    list-style: none;
    float: right;
}

.footer-nav li,
.social-links li {
    display: inline-block;
    margin-right: 20px;
}

.footer-nav li:last-child,
.social-links li:last-child {
  margin-right: 0;   
}

.footer-nav li a:link,
.footer-nav li a:visited,
.social-links li a:link,
.social-links li a:visited {
    text-decoration: none;
    border: 0;
    color: #888;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
}

.footer-nav li a:hover,
.footer-nav li a:active {
    color: #ddd;
}

.social-links li a:link,
.social-links li a:visited {
    font-size: 160%;
}
.ion-social-facebook,
.ion-social-twitter,
.ion-social-googleplus,
.ion-social-linkedin{
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
}

.ion-social-facebook:hover {
    color: #3b5998;
}
.ion-social-twitter:hover {
    color: #00aced ;
}
.ion-social-googleplus:hover {
    color: #dd4b39;
}
.ion-social-linkedin:hover {
    color: #517fa4;
}
.ion-social-github:hover {
    color: #8d20a6;
}
footer p {
    color: #888;
    text-align: center;
    
    margin-top: 30px;
}

/* -------------------------------------------------*/
/*  Animations */
/*--------------------------------------------------*/

.js--wp-1,
.js--wp-2{
     opacity: 0;
}

.js--wp-1.animated,
.js--wp-2.animated{
     opacity: 1;   
}