@charset "utf-8";

@font-face {
	font-family: "Didact Gothic";
	font-style: normal;
	font-weight: normal;
	src: url("../fonts/DidactGothic-Regular.woff") format("woff");
}

/* Icons Font */
@font-face {
	font-family: "FontAwesomeBrands";
	font-style: normal;
	font-weight: normal;
	src: url("../fonts/Font-Awesome-Brands.woff") format("woff");
}
@font-face {
	font-family: "FontAwesomeRegular";
	font-style: normal;
	font-weight: normal;
	src: url("../fonts/Font-Awesome-Regular.woff") format("woff");
}
@font-face {
	font-family: "FontAwesomeSolid";
	font-style: normal;
	font-weight: normal;
	src: url("../fonts/Font-Awesome-Solid.woff") format("woff");
}
/* END Icons Font */

/* reset/default rules */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, acronym, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, label, legend, table, caption, tbody, thead, tr, th, td {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	border: 0;
	outline: 0;
	background: transparent;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a img, :link img, :visited img {
	border: 0;
}
q:before, q:after, blockquote:before, blockquote:after {
	content: "";
}
a, .inputbox {
	outline-width:0;
}
a {
	transition: all 0.3s ease;
	text-decoration: none;
	color: #9143a1;
}
a:hover {
	text-decoration: none;
	color: #bf91c9;
}
p {
	margin-bottom: 14px;
}
body {
	max-width: 1920px;
	margin:0px auto;
	padding:0px;
	height:100%;
	font-family: 'Didact Gothic', sans-serif;
	font-size: 18px;
	letter-spacing: -0.25px;
	color: #222;
	background: #fffafa;
}
html {
	height:100%;
	width:100%;
}
.innerBlock{
	display: flex;
	max-width: 1440px;
	margin: 0 auto;
	border-bottom: 0;
	padding: 0 20px;
}
/* /reset/general rules */

/*---------------------------------------------------------------------------------------*/

/* base typography */
h1, .moduletable h3 {
	font-size: clamp(2rem, 4vw, 4rem);
	padding: 10px 0 20px 20px;
	margin-bottom: 20px;
	border-left: 4px solid #9143a1;
}
.moduletable h3 {
	margin-bottom: 50px;
}
h2{ font-size: 1.6em }
h3 {
	font-size: 1.3em
}
h4{ font-size: 1.3em }
h5{ font-size: 1.2em }
h6{ font-size: 1em }
/* /base typography */

/* Buttons */
.button {
    position: relative;
    display: block;
    color: #010101;
    background: transparent;
    margin: 30px 0;
    border: 4px solid #222;
    padding: 14px 50px;
    overflow: hidden;
    transition: .1s all ease;
    text-align: center;
    font-weight: bold;
    z-index: 1;
}
.button::before {
    background: #9143a1;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: -1;
    transition: all 0.3s ease;
    width: 100%;
    height: 0%;
}
.button:hover {
	color: #fffafa;
}
.button:hover::before{
	height: 380%;
}
/* /Buttons */

/* Header */
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: 20px 20px 12px;
	background: url(../images/top3bg.jpg);
}
.header .logoHeader,
.header .mainMenu {
	display: flex;
}
.header .logoHeader {
	justify-content: flex-start;
}
.header .mainMenu {
	justify-content: flex-end;
}
.logoHeaderCont {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.logoHeader .logo {
	display: block;
	width: 40%
}
.logoHeader .hero__label {
	color: #fffafa;
	border-bottom: 1px solid #fffafa;
}
.logoHeader .hero__title {
	display: block;
	margin: 0 0 0 10px;
	flex: 0 400px;
	padding: 0 10px;
}
.logoHeader .text {
	color: #fffafa;
	width: 350px;
}
.logoHeader .hero__job-line {
	font-size: 30px;
}
.logoHeader .job {
	font-size: 1em;
}
.logoHeader .hero__title {
	border-left: 1px solid #843597;
}
@media only screen and (max-width: 768px) {
	.header .logoHeader {
		width: 50%;
	}
	.logoHeader .logo {
		width: 24%;
	}
}
/* Logo */
.logoHeader img {
	width: 100px;
}
/* /Logo */

/* Main Menu */
.header .mainMenu li {
	padding: 10px;
}
.header .mainMenu a {
  padding: 0.5em 0;
  color: #9143a1;
  position: relative;
  letter-spacing: 1px;
  text-decoration: none;
}
.header .mainMenu a:hover {
	color: #d294df;
}
.header .mainMenu .current a {
	color: #d294df;
}
.header .mainMenu a:before,
.header .mainMenu a:after {
  position: absolute;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.header .mainMenu a:before {
  bottom: 0;
  display: block;
  height: 3px;
  width: 0%;
  content: "";
  background-color: #9143a1;
}
.header .mainMenu a:after {
  left: 0;
  top: 0;
  padding: 0.5em 0;
  position: absolute;
  content: attr(data-hover);
  color: #9143a1;
  white-space: nowrap;
  max-width: 0%;
  overflow: hidden;
}
.header .mainMenu a:hover:before,
.header .mainMenu .current a:before {
  opacity: 1;
  width: 100%;
}
.header .mainMenu a:hover:after,
.header .mainMenu .current a:after {
  max-width: 100%;
}
/* /Main Menu */
/* /Header */

/* Breadcrumbs*/
.breadcrumbs {
	width: 100%;
	float: left;
	padding: 5px 20px;
	font-size: 16px;
	background: #d294df;
	margin-bottom: 30px;
}
ul.breadcrumb {
	margin-bottom: 0;
}
.breadcrumbs ul li a:hover {
	color: #222;
}
.breadcrumbs .divider {
  margin-right: 5px;
}
.breadcrumbs .divider i {
	font-family: FontAwesomeSolid;
	color: #9143a1;
	font-size: 10px;
}
/* Breadcrumbs*/

/* Hero */
.heroCont {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	min-height: 100vh;
}
.heroLeft, .heroRight {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-basis: 50%;
	height: 100vh;
}
.heroLeft {
	background: url(../images/heroBg.jpg);
	position: relative;
	overflow: hidden;
}
.heroLeft img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	position: absolute;
	bottom: 0;
	animation: fadeIn .8s ease .5s forwards;
	opacity: 0;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		width: 0;
	}
	to {
		opacity: 1;
		width: 100%;
	}
}
.textBlock {
	color: #fffafa;
	position: absolute;
	bottom: 0;
	padding: 25px 20px 5px;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0, 0, 0, 1));
	width: 100%;
	height: 200px;
	opacity: 0;
	animation: textFadeIn 1s ease .5s forwards;
	align-items: center;
	display: flex;
}
@keyframes textFadeIn {
	from {
		opacity: 0;
		height: 0;
		bottom: -200px;
	}
	to {
		opacity: 1;
		bottom: 0;
		height: 200px;
	}
}
.text {
	font-size: 1.5em;
}
.job {
   display: inline-block;
   white-space: nowrap;
   font-size: 1.5em;
   font-weight: normal;
   color: #9143a1;
}
.job::before{
    content: attr(data-job1);
    overflow: hidden;
    display: inline-flex;
    animation: effectText 1s linear infinite alternate,
    changeText 6s linear infinite;
    animation-delay: -1.2s;
}
@keyframes effectText{
    from{
        max-width: 0;
    }to{
        max-width: 100%;
    }
}
@keyframes changeText{
    0%, 33% {
        content: attr(data-job1);
    }
    34%, 66% {
        content: attr(data-job2);
    }
    67%, 100% {
        content: attr(data-job3);
    }
}

@media only screen and (max-width: 768px) {
	.heroLeft, .heroRight {
		flex-basis: 100%;
	}
}
@media only screen and (max-width: 480px) {
	.hero__job-line {
		font-size: 35px;
	}
	.js-hero-label {
		font-size: 25px;
	}
}

.heroRight {
	display: flex;
}
.heroRight .logo {
	padding: 0 0 50px;
	text-align: center;
	border-bottom: 1px solid #010101;
	margin-bottom: 40px;
}
.heroRight .logo img {
	width: 40%;
}
.homeMenu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
.homeMenu ul {
	display: flex;
	flex-direction: column;
}
.homeMenu li {
	padding: 10px 20px;
}
.homeMenu li a {
	padding: 10px 20px 10px;
	text-decoration: none;
	transition: all 0.3s;
	color: #010101;
	font-size: 20px;
	position: relative;
}
.homeMenu li a:hover {
	font-weight: bold;
	letter-spacing: 2px;
	transition: all 0.3s;
	color: #9143a1;
}
.homeMenu li a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: all 0.3s;
	border-top: 1px solid #9143a1;
	border-bottom: 1px solid #9143a1;
	transform: scale(0.1, 1);
}
.homeMenu li a:hover::before {
	opacity: 1;
	transform: scale(1, 1);
}
.homeMenu li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 0.3s;
	background-color: rgba(255, 255, 255, 0.1);
}
.homeMenu li a:hover::after {
	opacity: 0;
	transform: scale(0.1, 1);
}
/* Social Icons */
.social {
	display: flex;
	padding: 50px 0 0;
}
.social i,
.footerSocial i {
	font-family: FontAwesomeBrands;
}
.social ul,
.footerSocial ul {
	margin: 0;
	padding: 0;
	display: flex;
}
.social ul li {
	list-style: none;
}
.fa-brands {
	line-height: unset!important;
}
.social ul li a,
.footerSocial ul li a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 20px;
	text-align: center;
	text-decoration: none;
	color: #404040;
	margin: 0 10px;
	transition: .3s;
}
.social ul li a span,
.footerSocial ul li a span {
	position: absolute;
	transition: transform .3s;
}
.social ul li a span:nth-child(1),
.social ul li a span:nth-child(3),
.footerSocial ul li a span:nth-child(1),
.footerSocial ul li a span:nth-child(3) {
	width: 100%;
	height: 3px;
	background: #404040;
}
.social ul li a span:nth-child(1),
.footerSocial ul li a span:nth-child(1) {
	top: 0;
	left: 0;
	transform-origin: right;
}
.social ul li a:hover span:nth-child(1),
.footerSocial ul li a:hover span:nth-child(1) {
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s;
}
.social ul li a span:nth-child(3),
.footerSocial ul li a span:nth-child(3) {
	bottom: 0;
	left: 0;
	transform-origin: left;
}
.social ul li a:hover span:nth-child(3),
.footerSocial ul li a:hover span:nth-child(3) {
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .3s;
}
.social ul li a span:nth-child(2),
.social ul li a span:nth-child(4),
.footerSocial ul li a span:nth-child(2),
.footerSocial ul li a span:nth-child(4) {
	width: 3px;
	height: 100%;
	background: #404040;
}
.social ul li a span:nth-child(2),
.footerSocial ul li a span:nth-child(2) {
	top: 0;
	left: 0;
	transform: scale(0);
	transform-origin: bottom;
}
.social ul li a:hover span:nth-child(2),
.footerSocial ul li a:hover span:nth-child(2) {
	transform: scale(1);
	transform-origin: top;
	transition: transform .3s;
}
.social ul li a span:nth-child(4),
.footerSocial ul li a span:nth-child(4) {
	top: 0;
	right: 0;
	transform: scale(0);
	transform-origin: top;
}
.social ul li a:hover span:nth-child(4),
.footerSocial ul li a:hover span:nth-child(4) {
	transform: scale(1);
	transform-origin: bottom;
	transition: transform .3s;
}
.social ul li a.facebook:hover,
.footerSocial ul li a.facebook:hover {
	color: #3b5998;
}
.social ul li a.facebook:hover span,
.footerSocial ul li a.facebook:hover span {
	background: #3b5998;
}
.social ul li a.instagram:hover,
.footerSocial ul li a.instagram:hover {
	color: #c32aa3;
}
.social ul li a.instagram:hover span,
.footerSocial ul li a.instagram:hover span {
	background: #c32aa3;
}
.social ul li a.tiktok:hover,
.footerSocial ul li a.tiktok:hover {
	color: #00EAE7;
}
.social ul li a.youtube:hover,
.footerSocial ul li a.youtube:hover {
	color: #dd4b39;
}
.social ul li a.linkedin:hover,
.footerSocial ul li a.linkedin:hover {
	color: #0a66c2;
}
.social ul li a.youtube:hover span,
.footerSocial ul li a.youtube:hover span {
	background: #dd4b39;
}
.social ul li a.tiktok:hover span,
.footerSocial ul li a.tiktok:hover span {
	background: #00EAE7;
}
.social ul li a.linkedin:hover span,
.footerSocial ul li a.linkedin:hover span {
	background: #0a66c2;
}
.social ul li a .tiktok,
.footerSocial ul li a .tiktok {
	color: #00EAE7;
}
.social ul li a:hover:nth-child(3),
.footerSocial ul li a:hover:nth-child(3) {
	color: #c32aa3;
}
.social ul li a:hover:nth-child(4),
.footerSocial ul li a:hover:nth-child(4) {
	color: #dd4b39;
}
/* /Social Icons */

/* Language Switcher */
.language {
	padding: 50px 0;
}
.language img {
	filter: grayscale(100%);
}
/* /Language Switcher */
/* /Hero */

/* Top 1 */
.aboutCont, .top2 .skillsCont {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 100vh;
}
.aboutLeft, .aboutRight, .skillsLeft, .skillsRight {
	flex-basis: 50%;
}
.aboutLeft, .skillsLeft {
	padding: 100px;
}
.aboutLeft .aboutText, .aboutContactBlock .aboutText {
	font-size: 18px;
	text-align: justify;
}
.moreButton {
	display: flex;
	justify-content: center;
}
.aboutRight {
	text-align: center;
}
.aboutRight img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
@media only screen and (max-width: 768px) {
	.aboutCont {
		flex-direction: column-reverse;
	}
	.aboutLeft, .aboutRight, .skillsLeft, .skillsRight {
		flex-basis: 100%;
	}
}
@media only screen and (max-width: 480px) {
	.aboutRight img {
		height: unset;
	}
	.aboutLeft, .skillsLeft {
		padding: 40px 20px;
	}
}
/* Top 1 */

/* Top2 */
.top2 {
	margin-top: -8px;
}
.skillsCont {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top2 .skillsRight {
	height: 100vh;
}
.skillsRight {
	display: flex;
	flex-direction: column;
	padding: 100px;
	background: url(../images/top3bg.jpg);
	justify-content: center;
}
.skillsTitle {
	font-size: 28px;
	color: #fffafa;
}
.progress {
	height: 20px;
	background-color: #fff;
}
.progressBarCont  {
	padding: 20px 0;
}
.progress-bar {
	font-size: 16px;
	background-color: #9143a1!important;
}
.skillsText {
	text-align: justify;
}
@media only screen and (max-width: 768px) {
	.skillsCont {
		flex-direction: column;
	}
	.skillsRight {
		width: 100%;
		padding: 100px 100px;
	}
}
@media only screen and (max-width: 480px) {
	.skillsRight {
		padding: 100px 40px;
	}
}
/* Top2 */

/* Top 3 */
.top3 {
	display: flex;
	background: url(../images/top3bg.jpg);
	background-size: cover;
	padding: 50px 0;
}
.top3 h3 {
	color: #fffafa;
}
.k2ItemsBlock ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
	padding: 0 100px;
}
.k2ItemsBlock ul li {
  flex: 1 32%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 480px) {
	.k2ItemsBlock ul {
		padding: 0;
	}
	.k2ItemsBlock ul li {
		flex: 1 100%;
	}
}
@media (min-width: 481px) and (max-width: 768px) {
	.k2ItemsBlock ul {
		padding: 0;
	}
	.k2ItemsBlock ul li {
		flex: 1 48%;
	}
}
.k2ItemsBlock ul li a.moduleItemLink {
  display: block;
  position: relative; /* για να δουλεύει σωστά το a::after */
  text-decoration: none;
  color: inherit;
}
.moduleItemImage {
  width: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 4/3;
  transition: transform .3s, filter .3s;
}
.moduleItemText {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none; /* θα γίνει auto όταν hover */
  transition: opacity .28s ease;
  z-index: 5;
}
.moduleItemTitle {
  color: #d294df;
  font-size: 24px;
  font-weight: bold;
  transform: translateX(-40px);
  opacity: 0;
  transition: transform .28s ease, opacity .28s ease;
  display: block;
}
.moduleItemCategory {
  color: #fff;
  font-size: 16px;
  transform: translateX(40px);
  opacity: 0;
  transition: transform .28s ease .06s, opacity .28s ease .06s;
  display: block;
  margin-top: -5px;
}
.moduleItemLink::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0,0,0,.8);
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none;
}
.k2ItemsBlock ul li:hover .moduleItemText,
.k2ItemsBlock ul li:hover a.moduleItemLink .moduleItemText {
  opacity: 1;
  pointer-events: auto;
  z-index: 10;
}
.k2ItemsBlock ul li:hover .moduleItemTitle {
  transform: translateX(0);
  opacity: 1;
}
.k2ItemsBlock ul li:hover .moduleItemCategory {
  transform: translateX(0);
  opacity: 1;
}
.k2ItemsBlock ul li:hover .moduleItemImage {
  transform: scale(1.1);
  filter: grayscale(100%);
}
.k2ItemsBlock ul li:hover a.moduleItemLink::after {
  opacity: 1;
}
.buttonBlock .button {
	max-width: 250px;
	margin: 50px auto 20px;
}
.modPortfolio .button {
	border: 4px solid #fffafa;
	color: #fffafa;
}
/* Top 3 */

/* Top 4 */
.top4 {
	background: #eee;
	padding: 30px 0;
}
.newsletterCont {
	display: flex;
	flex-wrap: wrap;
	min-height: 300px;
	color: #222;
}
.newsletterText,
.newsletterForm {
	display: flex;
}
.newsletterText {
	flex-direction: column;
	justify-content: center;
	font-size: 24px;
	margin-right: 100px;
}
.newsletterForm {
	justify-content: center;
	align-items: center;
}
.newsletterForm .rsform-block-email {
	margin-top: 20px;
	padding: 0 20px;
}
.newsletterForm .rsform-block-email input {
  width: 100%;
  color: #222;
  padding: 12px 20px;
  border-bottom: 1px solid #222;
    border-bottom-color: rgb(34, 34, 34);
  font-size: 24px;
  margin-top: 10px;
}
.newsletterForm .formContainer {
	flex-wrap: wrap;
	flex-direction: row;
}
.newsletterForm button {
	color: #222;
	border: 4px solid #222;
}
@media only screen and (max-width: 768px) {
	.newsletterText {
		margin-right: 0;
	}
	.newsletterForm {
		flex: 100%;
	}
}
/* Top 4 */

/* Top 5 */
.top5 {
	background: url(../images/top3bg.jpg);
	padding: 50px 0;
	color: #fffafa;
}
.top5 h3 {
	color: #fffafa;
}
.top5 .carousel {
	min-height: 500px;
	width: 60%;
	margin: 0 auto;
}
.carousel-item {
	padding: 0 50px;
}
.carouselItemImg {
	text-align: center;
	margin-bottom: 20px;
}
.top5 .carouselItemImg img {
  width: 150px;
  border-radius: 50%;
  margin: 0 auto;
  border: 5px solid #9143a1;
}
.carouselItemText {
	text-align: justify;
	margin-bottom: 20px;
}
.testBottom2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.testName {
	text-align: right;
}
@media only screen and (max-width: 768px) {
	.top5 .carousel {
		width: 100%;
	}
	.carousel-indicators {
		margin: -20px 0;
	}
}
@media only screen and (max-width: 480px) {
	.top5 .carousel {
		width: 100%;
	}
	.carousel-item {
		padding: 0;
	}
}
/* Top 5 */

/* K2 Category Item View */
.itemListCategoriesBlock,
.itemHeader {
  padding: 30px 0;
}
#itemListPrimary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 50px;
}
.itemContainer {
  flex: 0 32%;
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid #c6c6c6;
}
@media (max-width: 480px) {
	.itemContainer {
		flex: 0 100%!important;
	}
}
@media (max-width: 1280px) {
	.itemContainer {
		flex: 0 48.7%;
	}
}
.catItemView {
  position: relative;
}
.catItemBody {
	margin-bottom: -10px;
}
.catItemImage img {
  width: 100%;
  object-fit: cover;
  transition: transform .3s ease, filter .3s ease;
  aspect-ratio: 4/3;
}
.catItemText {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
  z-index: 5;
}
.portfolio .catItemTitle {
  color: #d294df;
  font-size: 24px;
  font-weight: bold;
  transform: translateX(-40px);
  opacity: 0;
  transition: transform .28s ease, opacity .28s ease;
  will-change: transform, opacity;
  display: block;
}
.portfolio .catItemCategory {
  color: #fff;
  font-size: 16px;
  transform: translateX(40px);
  opacity: 0;
  transition: transform .28s ease .06s, opacity .28s ease .06s;
  will-change: transform, opacity;
  display: block;
  margin-top: -5px;
}
.portfolio a::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0,0,0,.8);
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none;
}
.portfolio:hover a::after {
  opacity: 1;
}
.portfolio:hover .catItemText {
  opacity: 1;
  pointer-events: auto;
  z-index: 10;
}
.portfolio:hover .catItemTitle {
  transform: translateX(0);
  opacity: 1;
}
.portfolio:hover .catItemCategory {
  transform: translateX(0);
  opacity: 1;
}
.portfolio:hover img {
  transform: scale(1.1);
  filter: grayscale(100%);
}
/* K2 Category Item View */

/* K2 Item View */
.itemView,
.itemBody {
	width: 100%;
}
/* K2 Item View */

/* K2 Item View Project */
.projectItemCont {
	padding: 50px 0;
}
.projectItemTop {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}
.projectItemTopLeft, .projectItemTopRight {
	flex: 1 48%;
}
.projectItemTopRight {
  	padding: 0 0 0 40px;
}
.projectItemHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.itemImageBlock img {
    max-width: 100%;
    height: auto;
    display: block;
    max-height: 394px;
    object-fit: cover;
}
.itemVideoBlock,
.itemImageBlock {
    width: 100%;
}
.itemVideoBlock iframe {
	width: 100%;
	max-height: 394px;
	}
.projectItemHeader h1.itemTitle {
	font-size: clamp(2rem, 3vw, 3rem);
}
.projectItemHeader .itemCategory a {
  	font-size: 1.1em;
}
.projectItemHeader .itemCategory a::before {
	content: '\f03a';
	font-family: "FontAwesomeSolid";
	margin-right: 6px;
	font-size: 0.8em;
}
.projectItemTopRight .itemFullText {
	margin-bottom: 0;
	max-height: 300px;
	overflow: scroll;
}
/* ====== Στυλ για το πεδίο itemFullText στο K2 ====== */
.projectItemTopRight .itemFullText {
  max-height: 277px;          /* σταθερό ύψος περιοχής */
  overflow-y: auto;           /* κάθετο scroll μόνο όταν χρειάζεται */
  overflow-x: hidden;         /* κρύβει τυχόν οριζόντιο scroll */
  padding-right: 10px;        /* μικρό περιθώριο για να μη κολλάει το κείμενο στη μπάρα */

  /* Scrollbar για Firefox */
  scrollbar-width: thin;                  /* λεπτή μπάρα */
  scrollbar-color: #9043A1 #eee;       /* thumb (πρώτο) + track (δεύτερο) */
}

/* ====== Scrollbar για Chrome, Edge, Safari (WebKit) ====== */
.projectItemTopRight .itemFullText::-webkit-scrollbar {
  width: 10px;                            /* πλάτος της μπάρας */
}

.projectItemTopRight .itemFullText::-webkit-scrollbar-track {
  background-color: #eee;                 /* απαλό γκρι track */
  border-radius: 10px;                    /* στρογγυλεμένες άκρες */
}

.projectItemTopRight .itemFullText::-webkit-scrollbar-thumb {
  background-color: #9043A1;              /* μωβ “thumb” */
  border-radius: 10px;
  border: 2px solid #eee;                 /* μικρό διάκενο γύρω του */
}

.projectItemTopRight .itemFullText::-webkit-scrollbar-thumb:hover {
  background-color: #7c3590;              /* πιο σκούρο στο hover */
}

/* ====== Προαιρετικά, για αισθητική συνέπεια ====== */
.projectItemTopRight .itemFullText p:last-child {
  margin-bottom: 20px;                    /* για να μη “κολλάει” το τελευταίο κείμενο */
}
.projectItemBottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.projectItemBottomLeft, .projectItemBottomRight {
	flex: 1 48%;
}
.projectItemBottomRight {
	padding: 0 0 0 40px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.projectItemBottomRightCont {
	background-color: #eee;
}
.itemTagsBlock {
	padding: 10px 0;
}
.itemTagsBlock .fullTextTitle {
	padding: 10px 20px 0;
}
.itemTagsBlock .fullTextTitle h2::before {
	content: '\f02c';
	font-family: "FontAwesomeSolid";
	margin-right: 0.3em;
	font-size: .8em;
	color: #9043A1;
}
.itemTagsBlock ul {
	padding: 10px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	color: #9043A1;
}
.typeTextfield.group1.aliasLink {
	max-width: 210px;
	margin: 0 auto;
}
.itemImageGallery {
	display: block;
	width: 100%;
	float: left;
}
.galleryCont {
	display: flex;
}
ul.sigProElegant {
	display: flex;
	flex-wrap: wrap;
	gap: 23px;
	margin: unset!important;
	padding: unset!important;
}
ul.sigProElegant li.sigProThumb a.sigProLink {
	border: 0!important;
	background: 0!important;
}
ul.sigProElegant li.sigProThumb {
	list-style: none;
}
ul.sigProElegant li.sigProThumb .sigProImg {
	border: 1px solid #eee!important;
}
ul.sigProElegant li.sigProThumb a.sigProLink img.sigProImg {
	background-position: 0% 0%!important;
}
@media (max-width: 480px) {
	.logoHeaderCont {
		justify-content: center;
		flex-wrap: wrap;
	}
	.projectItemHeader {
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	ul.sigProElegant li.sigProThumb {
		margin-bottom: 20px;
	}
	ul.sigProElegant {
		gap: 0!important;
	}
	.projectItemBottomRight {
		width: 100%;
	}
}
@media (max-width: 480px) {
	.itemContainer {
		flex: 0 100%!important;
	}
}
@media (max-width: 1024px) {
	.projectItemTopLeft, .projectItemTopRight, .projectItemBottomLeft, .projectItemBottomRight {
		flex: 1 100%;
	}
	.projectItemTopRight, .projectItemBottomRight {
		padding: 30px 0 0 0;
	}
	.itemContainer {
		flex: 0 47.9%;
	}
	ul.sigProElegant {
		justify-content: space-evenly;
		justify-content: center;
	}
	.top5 .carousel {
		width: 100%;
	}
}
@media (min-width: 1025px) and (max-width: 1280px) {
	.itemCategory {
		padding-right: 20px;
	}
	ul.sigProElegant {
		gap: 0!important;
	}
	.top5 .carousel {
		width: 100%;
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	ul.sigProElegant li.sigProThumb {
		max-width: 200px;
	}
}
/* /K2 Item View Project */


/* About me */
.itemFullText {
	width: 100%;
    float: left;
    margin-bottom: 50px;
}
.aboutContInt {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.aboutBlockText, .aboutBlockIcon {
    flex: 1 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.aboutBlockIcon img {
	width: 50%;
	margin: 0 auto;
}
.aboutBlockText p {
    font-size: clamp(1em, 1vw, 2em);
    text-align: justify;
    margin-top: 20px;
}
.fullTextTitle {
    position: relative;
    overflow: hidden;
}
.fullTextTitle h2 {
    display: inline-block;
    position: relative;
}
.fullTextTitle h2::after {
    content: '';
	position: absolute;
	top: 60%;
	left: 105%;
	transform: translateY(-50%);
	width: calc(100% - 100px);
	height: 3px;
	background-color: #9143a1;
}
.aboutContactCont {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.aboutContactBlock {
	display: flex;
	flex-direction: column;
	flex: 50%;
	justify-content: center;
	text-align: justify;
}
.aboutContactBlock:last-child {
	padding: 0 100px;
}
.aboutContactBlock img {
	width: 100%;
	filter: drop-shadow(20px 20px 0 #9143a1);
}
@media only screen and (max-width: 768px) {
	.aboutContactBlock:last-child {
		padding: 0 20px;
	}
}
@media only screen and (max-width: 480px) {
	.aboutBlockText, .aboutBlockIcon {
		flex: 1 100%;
	}
	.aboutContInt {
		flex-wrap: wrap-reverse;
	}
}
/*.itemFullText {
	float: left;
	margin-bottom: 50px;
}
.itemHeader.misc {
	padding: 30px 0;
}
.aboutContInt {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.aboutContLeft, .aboutContRight {
	flex: 1 50%;
	display: flex;
	flex-direction: column;
}
.aboutContLeft p {
	font-size: clamp(1em, 1vw, 2em);
	text-align: justify;
}
.fullTextTitle {
	font-size: 1.5vw;
	font-weight: bold;
	margin-bottom: 10px;
	background: #fffafa;
	position: relative;
}
.aboutContRight img {
	width: 100%;
	padding: 0 50px;
	filter: drop-shadow(20px 20px 0 #9143a1);
}*/
/* About me */
/* K2 Item View */

/* Pagination*/
.k2Pagination .pagination-start,
.k2Pagination .pagination-end,
.k2Pagination .pagination-prev,
.k2Pagination .pagination-next {
	display: none;
}
.k2Pagination {
	display: block;
	float: left;
	padding: 30px 0 50px;
	box-sizing: border-box;
	text-align: center;
	width: 100%;
}
.k2Pagination ul {
	text-align:center;
}
.k2Pagination ul li {
  display: inline-block;
  font-size: 16px;
  margin: 5px;
}
.k2Pagination ul li span,
.k2Pagination ul li a {
	display: flex;
  border: 2px solid #222;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
}
.k2Pagination ul li span {
	background: #9143a1;
	color: #fffafa;
}
.k2Pagination ul li a { 
	background: transparent;
	color: #222;
}
.k2Pagination ul li:hover a {
	background: #9143a1;
	color: #fffafa;
}
/* Pagination*/


/* Contact */
/* Contact Page */
.contactPageCont,
.contactPageBlock {
	display: flex;
	flex-wrap: wrap;
}
.contactPageText {
	display: flex;
	flex: 50%;
	flex-direction: column;
	justify-content: center;
	text-align: justify;
}
.contactPageText h2,
.aboutContactBlock h2 {
	margin-bottom: 20px;
}
.contactPageButton {
	display: flex;
	justify-content: center;
}
.contactPageButton button {
	max-width: 240px;
}
.modal-content {
	border-radius: unset!important;
}
.contactImgBlock {
	padding: 40px;
}
.contactImgBlock img {
	width: 100%;
	filter: drop-shadow(20px 20px 0 #9143a1);
}
.contactPageSocialBlock {
	display: block;
	position: relative;
	width: 50%;
	margin: 80px auto 30px;
}
.contactPageSocialBlock img {
	width: 100%;
}
.contactPageSocial {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.contactPageSocial h2 {
	text-align: center;
}
@media only screen and (max-width: 768px) {
	.contactImgBlock {
		display: flex;
		flex: 100%;
		justify-content: center;
	}
	.contactImgBlock img {
		width: 50%;
	}
	.contactPageSocialBlock {
		width: 70%;
	}
}
@media only screen and (max-width: 480px) {
	.contactImgBlock img {
		width: 90%;
	}
	.contactPageSocialBlock {
		width: 100%;
	}
}
/* Contact Page */
/* Contact Form */
.formContainer {
	display: flex;
	flex-direction: column;
}
.formControls .rsform-input-box,
.formControls .rsform-text-box {
	display: flex;
	flex-direction: column;
	width: 70%;
	border: 0;
	border-bottom: 1px solid #eee;
	background: transparent;
	padding: 15px 0px;
	margin: 0 auto;
}
.rsform-block-captcha {
	padding: 20px 0;
}
.rsform-block-captcha .formControls #g-recaptcha-28 div {
	width: 100%!important;
}
.rsform-block-send {
	margin: 0 auto;
}
.rsform-block-send .formControls button {
	background: transparent;
}
.medium-9.columns.formControls {
  text-align: center;
}
/* Contact Form */
/* Contact */

/* footer */
.footer {
	background: url(../images/top3bg.jpg);
	padding: 30px 0;
	color: #fffafa;
}
.footer .innerBlock {
	flex-wrap: wrap;
}
.footerBlock {
	flex: 1 25%;
	padding: 20px;
}
@media only screen and (max-width: 768px) {
	.footerBlock {
		flex: 1 50%;
	}
}
.footerBlock h3 {
	font-size: 30px;
	padding: 10px 0 20px 10px;
	margin-bottom: 20px;
}
.footer1Cont {
	display: flex;
	flex-direction: column;
}
.footer1img,
.footer1text {
	display: flex;
	justify-content: center;
}
.footer1img img {
	width: 100px;
}
.footer1text {
	margin-left: 5px;
	text-align: justify;
	font-size: 16px;
	margin-top: 20px;
}
.footerBlock .moduletable.footerDistance {
	margin-top: 40px;
}
.footerBlock ul.nav {
	display: flex;
	justify-content: space-evenly;
}
.footerBlock ul.nav li {
	padding: 0 5px;
}
.footerSocial {
	display: flex;
	justify-content: center;
}
.footerSocial ul li a {
	color: #fffafa;
}
.footerSocial ul li a span:nth-child(1),
.footerSocial ul li a span:nth-child(3) {
	background: #fffafa;
}
.footerBlock .contactPageButton .button {
	border: 4px solid #fffafa;
	color: #fffafa;
}
.footerBlock .modal-header h1 {
	color: #222;
}
.copyright {
	width: 100%;
	float: left;
	padding: 10px 20px;
	background: #222;
	color: #fffafa;
	font-size: 16px;
	text-align: center;
}

@media only screen and (max-width: 480px) {
	.newsletterText {
		font-size: 18px;
	}
	.newsletterText {
		margin-right: 0;
	}
	.row.rsform-block.rsform-block-submit {
		flex: 100%;
	}
	.medium-9.columns.formControls {
		display: flex;
		justify-content: center;
	}
}
/* /footer */

/* Back to Top */
.cd-top {
  display: inline-block;
  height: 40px;
  width: 40px;
  position: fixed;
  bottom: 40px;
  right: 50px;
  overflow: hidden;
  text-indent: 100%;
  background: rgba(0,0,0,.1) url(../images/cd-top-arrow.svg) no-repeat center 50%;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
  z-index: 1000;
  border-radius: 50%;
}
.cd-top:hover {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
  background: rgba(0,0,0,.3) url(../images/cd-top-arrow.svg) no-repeat center 50%;
}
.cd-top.cd-is-visible {
  /* the button becomes visible */
  visibility: visible;
  opacity: 1;
}
.no-touch .cd-top:hover {
  background-color: rgba(0,0,0,.8);
  opacity: 1;
}
/* /Back to Top */



/* Questioner Form */
#userForm {
	width: 100%;
}
.questionerSection {
  border: 1px solid #eee;
  margin: 30px 0;
  background-color: #fff9dd;
}
legend {
  border-top: 1px solid #a8a8a8;
  padding: 10px 20px;
  border-bottom: 1px solid #a8a8a8;
  font-weight: bold;
  background-color: #eee;
}
.questioner .formBlocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  margin-bottom: 10px;
}
.questioner .formBlocks:last-child {
	margin-bottom: 50px;
}
.questioner .formBlocks label {
	font-weight: bold;
	margin-bottom: 5px;
}
.questioner .formBlock .formControls label {
	font-weight: normal;
}
.questioner .formBlock {
	flex: 1;
}
.questioner .formBlock.services {
	flex: 0 200px;
}
.questioner .rsform-block {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.questioner .rsform-block.column {
	flex-direction: column;
}
.questioner .rsform-block.column label {
	margin-bottom: 10px;
}
.questioner .formControls {
	width: 100%;
}
.questioner .formControls option {
	font-size: .9em;
}
.questioner .formBlock.multi .formControls {
  text-align: left;
}
.questioner .formBlock.multi {
	flex: 0;
}
.questioner .formBlock.checkBox {
	flex: unset;
}
.formBlock.checkBox.other {
  flex: 0 30%;
}
.questioner .rsform-block input, .questioner .rsform-block textarea {
	width: 100%;
	padding: 0;
	border-bottom: 1px solid #ccc;
}
.questioner .rsform-block.servicesCount input {
	width: 100%;
}
.questioner .rsform-block input.rsform-checkbox {
	width: unset;
	margin-right: 10px;
}
.questioner .rsform-select-box {
	background-color: transparent;
	border: unset;
	border: 1px solid #ddd;
	padding: 10px;
}
.questioner .rsform-block.servicesCount .formControls {
	width: 200px;
}
/* Για μικρές οθόνες (π.χ. κάτω από 768px) */
@media (max-width: 768px) {
  .questioner .formBlocks {
    flex-direction: column; /* Στοίχιση κάθετα */
    padding: 10px;
  }
  .questioner .formBlock {
    flex: 1 1 100%; /* Κάθε πεδίο να πιάνει όλο το πλάτος */
    margin-bottom: 15px;
  }
  .questioner .formBlock.services {
    flex: 1 1 100%; /* και αυτό ειδικά για τις υπηρεσίες */
  }
  /* Εισαγωγή padding και πιο ευανάγνωστων inputs */
  .questioner .rsform-block input,
  .questioner .rsform-block textarea,
  .questioner .rsform-block select {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
  }
  /* Ρυθμίσεις για labels ώστε να εμφανίζονται πάνω από τα πεδία */
  .questioner .formBlock label {
    margin-bottom: 5px;
  }
  /* Προσαρμογή για τα μπλοκ πολλαπλών επιλογών */
  .questioner .formBlock.multi {
    flex: 1 1 100%;
  }
  /* Ρύθμιση για checkboxes ώστε να μην καταλαμβάνουν μεγάλο χώρο */
  .formBlock.checkBox,
  .formBlock.checkBox.other {
    flex: 1 1 100%;
  }
}
/* /Questioner Form */
.submitBlock {
  display: flex;
  flex-direction: column;
  align-items: center;
}