/*
general parameters
*/
* {
  box-sizing: border-box;
}

html, body, div {
	margin: 0;
	padding: 0;
}

fieldset {
	border: 0;
}

body {
	height: 100%;
	width: 100%;
    background: #FEFCF8;
    font: 18px "Roboto", sans-serif;
	line-height: 1.8;
    font-weight: 400;
    color: #1A1A1A;
}

a {
	color: #1A1A1A;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	color: #6B0F0F;
}

/* Visible link variant — add class="link" to any link in body content
   that should be clearly identifiable. Default <a> stays SEO/hover-only. */
a.link {
	color: #6B0F0F;
	text-decoration: underline;
}
a.link:hover {
	color: #8B1A1A;
	text-decoration: underline;
}

img {
	padding: 7px;
	margin: 0;
	max-width: 100%;
}

a img {
    border:none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

ul.menu {
	margin: 0;
    padding: 0;
    list-style: none;
}

.right {
	padding-left: 7px;
}

.right .moduletable {
	padding-top: 10px;
}

.logo {
	padding: 12px 0px;
}

.logo img {
	text-align: left;
	padding: 0;
}

/* clearfix */
.clearfix:before,
.clearfix:after {
	content:" ";
	display: table;
}

.clearfix:after {
	clear: both;
}

/* segements paddings */
.padding-bt {
	padding-bottom: 40px;
	padding-top: 40px;
}

/* segements backgrounds */
.bgd-white {
	background: #FEFCF8;
}

.bgd-red {
	background: #6B0F0F;
	color: #FEFCF8;
}

.bgd-green {
	background: #C5963A;
	color: #1A1A1A;
}

.bgd-purple {
	 background: #6B0F0F;
	 color: #FEFCF8;
}
.glossary-content {
  text-align: left;
  margin-left: 0;
  padding-left: 0;
}


/*
ctop1 parameters
*/

.ctop1 {
  text-align: right;
}

/* START - main menu css for wdi-res-menu - START*/

div#maximenuck115 {
	font-size:24px !important;

}
/* END - main menu css for wdi-res-menu - END*/

/* START Showcase */

.showcase ul li {
	display: inline-block;
}

/* END Showcase */

/*START Content */

#content {
	padding-top:0;
}

#content .d-left, #content .d-right {
	padding-top:0;
}

.contact-name,
.page-header h2 {
    font-size: 40px;
    font-weight: 300;
}

.d-left {
width: 50%;
float: left;
text-align: justify;
padding: 70px 20px 70px 0px;
}
.dc-w {
color: #FEFCF8;
}

.d-right {
width: 50%;
float: right;
text-align: justify;
padding: 70px 0px 70px 20px;
}

.dc-b {
color: #1A1A1A;
}

/*END Content */


.showcase2 {
    padding: 0px 0px;
    background: linear-gradient(
    to right,
    #6B0F0F 0%,
    #6B0F0F 50%,
    #C5963A 50%,
    #C5963A 100%
    );
}


.middle1, .middle3 {
	padding:0 10%;
    color: #1A1A1A;
    background-color: #FEFCF8;

}

.middle1 a, .middle3 a {
	background: #FEFCF8;
	border-radius: 10px;
	border: none;
	color: #1A1A1A;
	font-size: 26px;
	font-weight: bold;
    text-shadow: 0px 0px #1A1A1A;
	padding: 10px 25px;
	display: inline-block;
	margin: 0px 0px;
    transition: all 0.8s ease;
}

.middle1 a:hover, .middle3 a:hover {
	cursor:pointer;
	text-decoration: none;
	padding: 10px 35px;
}



.middle2 {
    padding: 0px 0px;
    background: linear-gradient(
    to right,
    #C5963A 0%,
    #C5963A 50%,
    #6B0F0F 50%,
    #6B0F0F 100%
    );
}



/* -------------------------------------------------------------
   Module rows in #bottom3 and #bottom4
   Widths are now handled by the .module-row rule in grid.css
   (CSS Grid auto-fit). The old .width50 / .width33 / .width25
   float-based classes are gone — these rules only keep the
   per-row visual styling.
   ------------------------------------------------------------- */

.bottom3 .moduletable h3 {
	color: #FEFCF8;
}

.bottom4 .moduletable h3 {
	text-align: center;
	font-weight: 600;
}

/* menu in bottom modules */

.bottom3 ul.menu li a {
      color: #FEFCF8;
      padding: 10px 20px;
      border-bottom: 1px solid #C5963A;
      display: block;
      text-decoration: none;
      font-size: 12px;
      text-transform: uppercase;
      transition: background 0.4s, color 0.4s;
}

.bottom3 ul.menu li a:hover {
      background: #C5963A;
      color: #6B0F0F;
}

.footer p {
    text-align: center;
	padding: 4px 0;
	font-size: 13px;
}


/*
gener joomla parameters
*/

.breadcrumb {
	padding-left:0;
	background: #FEFCF8;
}

/*
page pagination
*/

.pagination span, .pagination span a:hover {
	color: #666666;
	background-color: #f5f5f5;
}

span.pagenav {
	background: #6B0F0F;
	color: #FEFCF8;
}

.pagination-start span.pagenav, .pagination-prev span.pagenav, .pagination-end span.pagenav, .pagination-next span.pagenav {
	background-color: #f2f2f2;
	color: #444;
}

.pagenav {
	text-align: right;
}

.pagenav ul {
	display: inline-block;
	*display: inline;
	list-style-type: none;
	margin-left: 0;
	margin-bottom: 0;
}

.pagenav li {
	display: inline;
	margin: 0;
	padding: 0;
}

.pagenav a,span.pagenav {
	padding: 0 14px;
	margin: 0;
	text-decoration: none;
	border: 1px solid #ddd;
	border-left: 0 solid #ddd;
	display: inline-block;
	line-height: 1.9em;
}

.pagenav li:first-child a,.pagination-start span {
	-webkit-border-radius: 3px 0 0 3px;
	-moz-border-radius: 3px 0 0 3px;
	border-radius: 3px 0 0 3px;
	border-left: solid 1px #ddd;
}

.pagenav li:last-child a,.pagination-end span {
	-webkit-border-radius: 0 3px 3px 0;
	-moz-border-radius: 0 3px 3px 0;
	border-radius: 0 3px 3px 0;
}

.pagination ul {
	margin: 10px 10px 10px 0;
	padding: 0;
}

.pagination li {
	display: inline;
}

.pagination a {
	padding: 0 14px;
	line-height: 2em;
	text-decoration: none;
	border: 1px solid #ddd;
	border-left: 0 solid #ddd;
	display: inline-block;
}

.pagination .active a {
	cursor: default;
}

.pagination span,.pagination span  a:hover {
	cursor: default;
	padding: 0 14px;
	line-height: 2em;
}

.pagination li:first-child a {
	border-left-width: 1px;
	-webkit-border-radius: 3px 0 0 3px;
	-moz-border-radius: 3px 0 0 3px;
	border-radius: 3px 0 0 3px;
}

.pagination li:last-child a {
	-webkit-border-radius: 0 3px 3px 0;
	-moz-border-radius: 0 3px 3px 0;
	border-radius: 0 3px 3px 0;
}

/* tooltips in pagination */

.tooltip-inner {
  display: none;
}

/* popover in hasPopover , category list, contact */

.popover-content, .popover-title {
    display: none;
}

/* pager */

.item-page .pager a {
    color: #1A1A1A;
}

.item-page .pager {
	margin-left: -40px;
	margin-right: 5px;
}


.pager .next > a, .pager .next > span {
    float: left;
}


.pager .previous > a, .pager .previous > span {
    float: left;
}


.pager li > a, .pager li > span {
    background-color: #FEFCF8;
    border: 1px solid #ddd;
    border-radius: 15px;
    display: inline-block;
    padding: 5px 14px;
	margin-bottom: 5px;
}

/* article list */

div.category-list table td a {
	color: #6B0F0F;
}

/* article blog */

div.blog dt {
	display: none;
}

div.blog dl {
	display: block;
	width: 100%;
	margin: 0;
	list-style-type: none;
	text-align: center;
	float: left;
}

div.blog dl dd {
	margin: 5px 15px 5px 0px;
	text-transform: uppercase;
	float: left;
	color: #C5963A;
}

div.blog p.readmore a {
	color: #6B0F0F;
}

div.blog p.readmore a:hover {
	color: #C5963A;
}

/* article page details */

div.item-page dl {
	display: block;
	width: 100%;
	margin: 0;
	list-style-type: none;
	text-align: center;
	float: left;
}

div.item-page dl dd {
	margin: 5px 15px 5px 0px;
	text-transform: uppercase;
	float: left;
	color: #C5963A;
}

/*
  START contact page  START
*/

/* JOOMLA CONTACT FORM*/
div.contact h3, div.contact legend {
	display: none;
}



div.contact-form {
      margin: 0 auto;
      width:100%;
}

div.contact-form input[type=text],
div.contact-form input[type=email],
div.contact-form textarea {
      width: 100% !important;
      padding: 5px;
	  border: 1px solid #C5963A;
}

div.contact-form input[type=text]:hover,
div.contact-form input[type=email]:hover,
div.contact-form textarea:hover {
	  border: 2px solid #6B0F0F;
}

div.contact-form .control-group {
      margin-bottom: 10px;
}

button[class="btn btn-primary validate"] {
  background: #2D6A4F;
  border-radius: 30px;
  border: none;
  color: #FEFCF8;
  text-shadow: 1px 1px 2px #1A1A1A;
  font-size: 15px;
  padding: 10px 25px;
  display: block;
  margin: 20px 0 20px;
  transition: all 0.3s ease;
}
button[class="btn btn-primary validate"]:hover {
  cursor:pointer;
  background: #1B4332;
  color: #FEFCF8;
}


div.control-label label[id=jform_spacer-lbl] {
	display: none;
}

/*
  END contact page END
*/

/* contact enhanced */

#cf_ce-submit-button {
	background: #6B0F0F;
	border-radius: 30px;
	border: none;
	color: #FEFCF8;
	font-size: 20px;
	font-weight: bold;
	padding: 10px 25px;
	display: inline-block;
	margin: 10px 0px;
	transition: all 0.3s ease;
}
#cf_ce-submit-button:hover {
	cursor:pointer;
	text-decoration: none;
	background: #C5963A;
	color: #6B0F0F;
}
#cf_ce-submit-button_reset {
	background: #6B0F0F;
	border-radius: 30px;
	border: none;
	color: #FEFCF8;
	font-size: 20px;
	font-weight: bold;
	padding: 10px 25px;
	display: inline-block;
	margin: 10px 0px;
	transition: all 0.3s ease;
}
#cf_ce-submit-button_reset:hover {
	cursor:pointer;
	text-decoration: none;
	background: #C5963A;
	color: #6B0F0F;
}

div.ce-cf-container .inputbox {
	width: 100% !important;
}

/* membership */

.btn-primary {
	background: #6B0F0F;
	border-radius: 30px;
	border: none;
	color: #FEFCF8;
	font-size: 20px;
	font-weight: bold;
	padding: 10px 25px;
	display: inline-block;
	margin: 10px 0px;
	transition: all 0.3s ease;
}
.btn-primary:hover {
	cursor:pointer;
	text-decoration: none;
	background: #C5963A;
	color: #6B0F0F;
}

#osm-plan-item div.osm-item-description {
	border: none;
}

#osm-plan-item div.osm-item-heading-box {
	background: #FEFCF8;
	border:none;
}

#osm-profileTabs {
	display:none;
}

#subscription-history-page {
	display: none;
}

.osm-plan-property {
	display: none;
}

/* comments */
#comments-footer {
	display:none;
}

/* Download */
div.jd_footer, div.jd_top_navi, div.jd_summary_title, div.jd_fields_wrapper {
	display:none;
}

/* privacy ribbon */
.activebar-container button.decline {
color: #FEFCF8;
background-color: #1A1A1A;
border:none;
padding: 10px;
}
.activebar-container button.accept {
color: #1A1A1A;
background-color: #FEFCF8;
padding: 10px;
border: 1px;
}

div.plg_system_eprivacy_accepted p {
	color: #FEFCF8;
}

div.plg_system_eprivacy_declined p {
	color: #FEFCF8;
}

button.plg_system_eprivacy_accepted, button.plg_system_eprivacy_reconsider {
	color: #FEFCF8;
	padding:5px;
	background: #6B0F0F;
}


/* -------------------------------------------------------------
   v1.3.0 — bgd-black utility, menubottom strip, z-index ladder
   ------------------------------------------------------------- */

.bgd-black {
	background: #1A1A1A;
	color: #FEFCF8;
}

/* New menubottom strip — Maximenu CK provides its own black
   styling internally, so this just ensures the wrapping divs
   match (no more crimson edges either side of the menu). */
.menubottom {
	/* padding matched to other strips; tweak if Maximenu CK
	   already provides its own vertical padding */
	padding: 0;
}

/* Z-INDEX HIERARCHY
   The top menu dropdowns must always render above the bottom menu.
   Applied to #jux_megamenucss3 (the inner megamenu wrapper) rather
   than #main-menu — because #main-menu also contains the off-canvas
   mobile menu (#js-meganav-off-canvas), and putting position:relative
   on #main-menu traps the off-canvas in a new containing block,
   making JUX's intended off-screen position render on-screen as a
   visible sliver. #jux_megamenucss3 is a sibling of the off-canvas,
   not its ancestor, so this is safe. */
#jux_megamenucss3 {
	position: relative;
	z-index: 100;
}

#menubottom,
#showcase2 {
	position: relative;
	z-index: 5;
}


/* -------------------------------------------------------------
   v1.3.2 — top-menu dropdown integrity (background + z-index only)
   v1.3.1 (max-height + overflow-y) was rolled back — overflow:auto
   clips nested 2nd-level dropdowns, making sub-menus inaccessible.
   On short-content pages the sticky-footer pushes the menubottom
   strip up the viewport. Long top-menu dropdowns (e.g. CCTV
   course with 13 items) extend past the content and overlap
   the black menubottom strip. Without their own solid
   background, the dropdown items pick up the black underneath.
   This block forces:
     - solid crimson background on dropdown containers
     - max-height with scroll instead of overflowing
     - high z-index to win against any other plugin CSS
   ------------------------------------------------------------- */

#main-menu .childcontent,
#main-menu .childcontent-inner-wrap,
#main-menu .childcontent-inner,
#main-menu .dropdown-menu {
	background: #6B0F0F !important;
}

#main-menu .childcontent {
	z-index: 1000 !important;
}

/* Scroll for LEAF dropdown panels only (no nested .childcontent inside).
   Parent panels containing nested dropdowns stay unrestricted, so nested
   menus can fly out without being clipped. :has() is baseline-supported
   in all modern browsers since 2023. */
#main-menu .childcontent:not(:has(.childcontent)) {
	max-height: 75vh;
	overflow-y: auto;
}


/* -------------------------------------------------------------
   v1.3.5 — third-party component CSS overrides
   ------------------------------------------------------------- */

/* Contact page hero image — cap at 300px so the source file's
   intrinsic dimensions don't blow the layout wide. The Joomla
   contact component hard-codes width/height attributes on the
   img tag, so height: auto is required to keep the aspect ratio. */
.com-contact__thumbnail img {
	max-width: 300px;
	width: 100%;
	height: auto;
}

/* OSMembership Pro (com_osmembership) — strip plugin's own white
   background and font stack so it inherits the template's cream
   bgd-white and Roboto. Scoped tightly to OSM containers. */
.osm-container,
#osm-plans-list-default,
#osm-plan-item,
.osm-item-wrapper,
.osm-item-heading-box,
.osm-item-description,
.osm-description-details,
.osm-taskbar {
	background: transparent !important;
	font-family: 'Roboto', Arial, sans-serif;
}
