@charset "UTF-8";

/*
Theme Name: optheme
Author: Broikos Nikos
Author URI: https://broikos.gr/
Description: OPTheme is a theme focused on developers. It is like a blank canvas with performance-oriented code and functions for SEO and no bloatware. [year] prints the current year
Requires at least: 5.3
Tested up to: 6.3
Requires PHP: 7.3
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: optheme
Tags: one-column, accessibility-ready, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, translation-ready

optheme WordPress Theme, (C) 2020 WordPress.org
optheme is distributed under the terms of the GNU GPL.
*/

*, *:focus, *:active, *:focus *, *:active * {
    outline: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

img::selection {
  color: inherit;
  background: inherit;
}
img{
	display: block;
	width: 100%;
}


html *{
	box-sizing: border-box;
}
html {
	line-height: 1.3; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

body {
	margin: 0;
	font-weight: normal;
	text-align: left;
}

main {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

pre {
	white-space: pre;
	overflow-x: auto;
	font-family: monospace; /* 1 */
	font-size: 1em; /* 2 */
}

a {
	background-color: transparent;
	text-decoration-thickness: 1px;
	cursor: pointer;
	text-underline-offset: 3px;
	text-decoration-skip-ink: all;
}

a:visited {
	color: unset;
}

b, strong {
	font-weight: 700;
}

pre, code, kbd, samp {
	font-family: monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
}

button, input, optgroup, select, textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
	cursor: pointer;
}

button, input { /* 1 */
	overflow: visible;
}

button, select { /* 1 */
	text-transform: none;
}

button, [type=button], [type=reset], [type=submit] {
	-webkit-appearance: button;
	cursor: pointer;
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

textarea {
	overflow: auto;
	width: 100%;
}


::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

[hidden] {
	display: none;
}

*, *::before, *::after {
	box-sizing: inherit;
}

.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}


*:disabled{
	opacity: 0.7;
}


select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding: 5px 15px 5px 5px;
	background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
	background-position: right 5px top 60%;
}

dfn, cite, em, i {
	font-style: italic;
}


html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#page {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

#content {
  flex: 1;
}














/*general - start*/
body{
	padding: 0;
	background: #ffffff;
	background: #ffffff;
}
.entry-content{
	max-width: 100%;
	margin: auto;
	padding: 0;
}
/*general - end*/

/*header - start*/

header#masthead{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	background: transparent;
	z-index: 999;
	transition: background 0.3s;
}
header#masthead.header--scrolled{
	background: rgba(30,35,45,0.95);
}

.header-container{
	max-width: 1260px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 80px;
	padding: 10px 30px;
}

/* logo */
.site-logo{
	flex-shrink: 0;
}
.site-logo img{
	height: 55px;
	width: auto;
}

/* desktop nav */
#site-navigation{
	position: static;
	width: auto;
	height: auto;
	background: none;
}
.menu-inner-container{
	display: flex;
	align-items: center;
}
#primary-menu-list{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}
#primary-menu-list li{
	position: relative;
}
#primary-menu-list > li > a{
	text-decoration: none;
	color: #ffffff;
	font-size: 15px;
	padding: 8px 12px;
	display: block;
	white-space: nowrap;
	transition: opacity 0.2s;
}
#primary-menu-list > li > a:hover{
	opacity: 0.75;
}
#primary-menu-list li.menu-item-has-children > a::after{
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-right: 1.5px solid #fff;
	border-bottom: 1.5px solid #fff;
	transform: rotate(45deg);
	margin-left: 6px;
	vertical-align: 2px;
}

/* sub-menu */
.sub-menu{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: rgba(30,35,45,0.95);
	border-radius: 4px;
	padding: 8px 0 !important;
	min-width: 200px;
	list-style: none;
}
#primary-menu-list li:hover > .sub-menu{
	display: block;
}
.sub-menu li a{
	display: block;
	padding: 8px 20px;
	color: #ffffff;
	font-size: 14px;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s;
}
.sub-menu li a:hover{
	background: rgba(255,255,255,0.1);
}

/* header right (cta + burger) */
.header-right{
	display: flex;
	align-items: center;
	gap: 20px;
	flex-shrink: 0;
}
.header-cta{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #C5A96A;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 24px;
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s;
}
.header-cta:hover{
	background: #b5993e;
}
.header-cta span{
	font-size: 18px;
	line-height: 1;
}

/* burger toggle — hidden on desktop */
.menu-toggle{
	display: none;
	background: none;
	border: none;
	width: 30px;
	height: 24px;
	position: relative;
	cursor: pointer;
	padding: 0;
}
.menu-toggle span{
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	position: absolute;
	left: 0;
	transition: 0.3s;
}
.menu-toggle span:nth-child(1){ top: 0; }
.menu-toggle span:nth-child(2){ top: 11px; }
.menu-toggle span:nth-child(3){ top: 22px; }

/* mobile */
@media (max-width: 991px){
	.header-container{ padding: 10px 16px; }
	.header-cta{ display: none; }
	.menu-toggle{ display: block; }

	#site-navigation{
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.92);
		transition: right 0.4s;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.menu-open #site-navigation{
		right: 0;
	}
	.menu-inner-container{
		flex-direction: column;
	}
	#primary-menu-list{
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	#primary-menu-list > li > a{
		font-size: 22px;
		padding: 10px 16px;
	}
	.sub-menu{
		position: static;
		background: none;
		padding: 0 !important;
		min-width: 0;
	}
	#primary-menu-list li:hover > .sub-menu,
	#primary-menu-list li.open > .sub-menu{
		display: block;
	}
	.sub-menu li a{ text-align: center; }
}

/*header - end*/

/*footer - start*/
.footer-inner{
	max-width: 1100px;
	margin: auto;
	padding: 10px;
}
.footer-columns-inner{
	display: flex;
	justify-content: space-between;
}
/*footer - end*/





/* Full Width Container */
.full-width-container {
    width: 100%;
    box-sizing: border-box;
    clear: both;
}

/* Column Styles */
.column {
    box-sizing: border-box;
    float: left; /* Or you can use Flexbox or Grid based on your preference */
    padding: 0 15px;
}

.column.one {
    width: 100%;
}

.column.one_half {
    width: 50%;
}

.column.one_third {
    width: 33.3333%;
}

.column.one_fourth {
    width: 25%;
}

/* Clearfix for floated elements */
.clearfix::after {
    content: "";
    clear: both;
    display: table;
}



