/*
Theme Name: OceanWP Child
Theme URI: https://oceanwp.org/
Template: oceanwp
Author: OceanWP
Author URI: https://oceanwp.org/about-me/
Description: OceanWP is the perfect theme for your project. Lightweight and highly extendable, it will enable you to create almost any type of website such a blog, portfolio, business website and WooCommerce storefront with a beautiful &amp; professional design. Very fast, responsive, RTL &amp; translation ready, best SEO practices, unique WooCommerce features to increase conversion and much more. You can even edit the settings on tablet &amp; mobile so your site looks good on every device. Work with the most popular page builders as Elementor, Beaver Builder, Brizy, Visual Composer, Divi, SiteOrigin, etc... Developers will love his extensible codebase making it a joy to customize and extend. Best friend of Elementor &amp; WooCommerce. Looking for a Multi-Purpose theme? Look no further! Check the demos to realize that it's the only theme you will ever need: https://oceanwp.org/demos/
Tags: two-columns,right-sidebar,footer-widgets,blog,news,custom-background,custom-menu,post-formats,rtl-language-support,sticky-post,editor-style,threaded-comments,translation-ready,buddypress,custom-colors,featured-images,full-width-template,theme-options,e-commerce,block-styles,wide-blocks,accessibility-ready
Version: 3.2.0
Updated: 2022-01-10 17:21:35

*/


.eml_hidden{
	display: none;
}
form label {
    margin-right: 20px;
}

#transparent-header-wrap{
	z-index:999;
}
#site-header{
    transition: .5s ease-out;
}


/* normal button style */
.dmm_shine {
    text-align: center;
    color: #FFF;
    position: relative;
}
/* button hover style if required */
.dmm_shine:hover {
   
}
/* generated element for shine effect.
 * normal state is semi-transparent
 * white but with zero width. Set no
 * transition here for no mouse-leave
 * animations. Otherwise the effect
 * will play in reverse when your mouse
 * leaves the element
 */
.dmm_shine:after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 0%;
    height: 100%;
    background-color: rgba(255,255,255,0.4);
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
   
}
/* on hover we animate the width to
 * 100% and opacity to 0 so the element
 * grows and fades out
 */
.dmm_shine:hover:after {
    width: 120%;
    background-color: rgba(255,255,255,0);
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}



.dmm-carousel-element {
    box-shadow: 0px 5px 5px 1px #bfbfbf;
}
.dmm-carousel-element .details {
    margin: 0px 20px;
}
.dmm-carousel-element .details .title{
   text-align: center;
	margin: 20px 10px;
}
.dmm-carousel-element .details .description{
    text-align: justify;
	padding-bottom:20px;
}





/* Edit Mega menu */

ul.megamenu.sub-menu {
    width: 1100px !important;
	padding: 20px;
}


ul.megamenu.sub-menu li {
    border: none !important;
}

.navigation .megamenu li ul.sub-menu {
    border-top: none;
}

ul.megamenu.sub-menu>li > a:after {
    content: '';
    display: block !important;
    border-bottom: 2px solid black !important;
    padding-top: 10px;
    width: 30px !important;
}

ul.megamenu.sub-menu>li>a>span {
    font-size: 22px;
}




/* ARTICLES CSS 
 ***************************************************************************************/

header.page-header.background-image-page-header {
    height: 60vh;
    background-size: cover;
    background-attachment: fixed;
    background-position: bottom;
}
.dmm_working_hours{
	color: white;
}

.dmm_page_details.shadow {
    background: #3e444e;
	margin-bottom: 60px;
}

.dmm_page_details .background{
	background: #f6f1ef;
	position: relative;
    left: -10px;
    top: -10px;
	display: flex;
    align-items: center;
}

.dmm_page_details img.horizontal{
	display:none;
}

img.vertical.has_video, img.horizontal.has_video {
    display: none !important;
}


@media screen and (max-width: 961px) {
	.dmm_page_details .background {
		justify-content: center !important;
	  	flex-wrap: wrap;
	}
	.dmm_page_details .contact {
		flex-wrap: wrap;
	}
	
	.dmm_page_details img.horizontal{
		display:block;
	}
	.dmm_page_details img.vertical{
		display:none;
	}
}



.dmm_page_details .video{
	max-width: 400px;
	width: 100%;
}

.dmm_page_details .details{
	padding:15px;
	width: 100%;
}

.dmm_page_details .video *{
	max-height: 80vh;
}

.dmm_call_to_action {
    background: #3e444e;
    color: white;
    padding: 10px 20px;
    margin: 5px;
    font-size: 18px;
}

.dmm_page_details .contact{
    display: flex;
	    justify-content: space-evenly;
}

.dmm_page_details .title{
    text-align: right;
	font-weight:bold;
}

.wp-faq-schema-items.ui-accordion.ui-widget.ui-helper-reset h3 {
    background: #3e444e;
    color: white;
}









/* =================================== Child Listing ===================================== */



.listing_childs {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
}

.dmm-page-category{
    max-width: 600px;
    margin: 10px;
}

.listing_childs img {
	max-width: 450px !important;
	max-height: 290px !important;
}

.listing_childs h2{
    margin-top: 10px;
	text-align: center;
	width: 100%;
}


.dmm-page-category{
    border: 1px solid;
}
.dmm-page-category:hover {
    box-shadow: 5px 5px;
}


/* =================================== Before And After ============================== */

.ba_slide .ba_image {
  display: none; }
  .ba_slide .ba_image.active {
    display: block; }

.ba_options {
  width: 100%;
  height: 30px;
  text-align: center; }
  .ba_options .ba_go_to_image {
    width: 15px;
    height: 15px;
    background: rgba(81, 79, 79, 0.8);
    display: inline-block;
    border-radius: 100%;
    margin: 10px 5px; }
    .ba_options .ba_go_to_image:hover {
      background: black;
      cursor: pointer; }
    .ba_options .ba_go_to_image.active {
      background: #2b96cc; }

.main-navigation .nav-menu li .sub-menu, .main-navigation .nav-menu li .children {
  transition: none !important;
  -webkit-transition: none !important; }




.dmm-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.dmm-single-ba {
    max-width: 300px;
    margin: 30px 10px;
}

.before_and_after_link {
    margin-top: 100px;
    width: 100%;
    border: 2px solid;
    padding: 10px;
    text-align: center;
}


/* WCAG AA contrast: white on #1565c0 ≈ 5.2:1 (min 4.5:1) */
.focus_bg{
	background:#1565c0 !important;
	color: white !important;
}
.focus_bg:hover{
	background:#0d47a1 !important;
	color: white !important;
}
/* WCAG 2.4.7 Focus Visible – clear focus indicator for keyboard users */
.focus_bg:focus {
	outline: 2px solid #1565c0;
	outline-offset: 2px;
}
.focus_bg:focus:not(:focus-visible) {
	outline: none;
}
.focus_bg:focus-visible {
	outline: 2px solid #1565c0;
	outline-offset: 2px;
}


.details th, .details td {
    vertical-align: middle;
}



/* General gallery styling */
.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 15px; /* Space between gallery items */
    justify-content: center; /* Center gallery items */
    max-width: 1200px; /* Maximum width of the gallery */
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

.gallery-item {
    flex: 1 1 calc(33.33% - 30px); /* Three columns with equal width */
    display: flex;
    flex-direction: column; /* Align caption below the image */
    background-color: #fff; /* Background color for each item */
    border-radius: 8px; /* Rounded corners */
    overflow: hidden; /* Hide overflow */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    transition: transform 0.3s ease; /* Animation for hover effect */
}

.gallery-item:hover {
    transform: translateY(-5px); /* Subtle hover effect */
}

.gallery-icon {
    width: 100%;
    aspect-ratio: 16 / 9; /* Set a fixed aspect ratio for the image container */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Hide overflow of the image */
}

.gallery-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cover the container while maintaining aspect ratio */
    display: block;
}

.gallery-caption {
    padding: 10px;
    font-size: 14px;
    text-align: center;
    background-color: #f9f9f9;
    color: #333;
    border-top: 1px solid #ddd;
}

/* Responsive styles */
@media (max-width: 1024px) { /* Tablet and smaller screens */
    .gallery-item {
        flex: 1 1 100%; /* Single column on smaller screens */
    }
}

@media screen and (min-width: 30em) {
    .gallery-columns-3 .gallery-item {
        max-width: 100% !important;
    }
}






.custom-lightbox button {
    position: absolute;
    background: rgba(0, 0, 0, 0.6); /* Semi-transparent dark background */
    border: none;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
    z-index: 10000;
    padding: 10px 15px; /* Padding for a larger click area */
    border-radius: 50%; /* Rounded shape for better visibility */
    transition: background 0.3s; /* Smooth transition effect for hover */
}

.custom-lightbox button:hover {
    background: rgba(255, 255, 255, 0.8); /* Light background on hover */
    color: #000; /* Dark text color on hover */
}

.custom-lightbox button.prev {
    left: 30px; /* Adjusted position for better visibility */
    font-size: 36px;
}

.custom-lightbox button.next {
    right: 30px; /* Adjusted position for better visibility */
    font-size: 36px;
}

.custom-lightbox button.close {
    top: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.6); /* Match close button style */
    font-size: 24px;
    border-radius: 50%; /* Rounded close button */
}

.custom-lightbox button.close:hover {
    background: rgba(255, 255, 255, 0.8); /* Light background on hover for close button */
    color: #000; /* Dark text color on hover */
}


/* Ενιαία ευθυγράμμιση και spacing */
.wpcf7 form p,
.cf7-field,
fieldset {
  margin-bottom: 22px; /* Περισσότερο κάθετο κενό */
}

/* Εισαγωγικό κείμενο */
.cf7-intro {
  margin-bottom: 24px;
  font-size: 15px;
  color: #444;
  line-height: 1.5;
}

/* Labels */
.wpcf7 form label,
legend {
  font-size: 15px;
  font-weight: 600;
  color: #222;
  display: block;
  margin-bottom: 8px;
}

/* Inputs & textarea styling */
/* .wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
 */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: #0099ff;
  box-shadow: 0 0 0 2px rgba(0,153,255,0.15);
  outline: none;
}

/* Radio options inline & centered */
.cf7-radio-group p {
  display: flex;
  gap: 28px; /* λίγο πιο άνετη απόσταση */
  align-items: center;
  margin: 10px 0 16px;
}

.cf7-radio-group label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  cursor: pointer;
  font-size: 15px;
  color: #333;
}

/* Radio appearance */
.cf7-radio-group input[type="radio"] {
  accent-color: #0099ff;
  width: 18px;
  height: 18px;
}

/* Submit button – WCAG AA contrast. High specificity to override Elementor/theme. */
.wpcf7 input.wpcf7-submit[id^="dmm_submit_lead"],
input[id^="dmm_submit_lead"].wpcf7-form-control.wpcf7-submit {
  background-color: #1565c0 !important;
  color: white !important;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  padding: 12px 26px;
  cursor: pointer;
  transition: background-color 0.25s ease, transform 0.1s ease;
}

.wpcf7 input.wpcf7-submit[id^="dmm_submit_lead"]:hover,
input[id^="dmm_submit_lead"].wpcf7-form-control.wpcf7-submit:hover {
  background-color: #0d47a1;
  transform: translateY(-1px);
}

.wpcf7 input.wpcf7-submit[id^="dmm_submit_lead"]:focus-visible,
input[id^="dmm_submit_lead"].wpcf7-form-control.wpcf7-submit:focus-visible {
  outline: 2px solid #0d47a1;
  outline-offset: 2px;
}

.wpcf7 input.wpcf7-submit[id^="dmm_submit_lead"]:active,
input[id^="dmm_submit_lead"].wpcf7-form-control.wpcf7-submit:active {
  transform: translateY(0);
}



table th {
    text-transform: none !important;
}

/* ---------------- ACCORDION SINGLE PRODUCT ------------- */

.wc-extra-accordion--posts {
    margin-top: 20px;
    border: 1px solid #e0e0e0;
}

.wc-extra-accordion-item + .wc-extra-accordion-item {
    border-top: 1px solid #e0e0e0;
}

.wc-extra-accordion-title {
    width: 100%;
    text-align: left;
    background: #f1f1f1;
    padding: 10px 15px;
    border: 0;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wc-extra-accordion-title.is-open {
    background: #e5e5e5;
}

.wc-extra-accordion-icon {
    margin-left: 10px;
}

.wc-extra-accordion-panel {
    padding: 15px;
    background: #ffffff;
}

 




















/* Inner section containing headings – semi-transparent so background shows through, text-shadow keeps contrast */
.elementor-element-98019e8 .elementor-element-f75f21d {
    background-color: rgba(0, 0, 0, 0.75) !important;
}