/* Dark Ataraxia (c) Jan 2026 - Author: D.Gauthier */
/* Hero page CSS v1.0 */ 
/* Natural tag  #4169E1; #000080 #9c0000 */




:root {
  --border-color: #9c0000;
  --text-color: #555;
}





* {
margin: 0;
padding: 0;
border:none;
outline:none;
list-style:none;
text-decoration:none;
font-family: "Times New Roman", Times, serif;
}

html, body{
min-height: 100%;
}

body{
width:100%;
text-align: center;
background:url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%20512%20512%22%20width%3D%22512%22%20height%3D%22512%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cfilter%20id%3D%22noise%22%3E%20%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.875%22%20result%3D%22noise%22%20%2F%3E%20%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220.25390625%200%200%200%200%200%200.421875%200%200%200%200%200%200.45703125%200%200%200%200%200%200.30078125%200%22%20%2F%3E%20%3C%2Ffilter%3E%20%3Crect%20filter%3D%22url%28%23noise%29%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20fill%3D%22transparent%22%20opacity%3D%221%22%20%2F%3E%3C%2Fsvg%3E')
center / 522px repeat, linear-gradient(45deg, rgba(0,0,0,.988), rgba(46,44,44,.988)) center / contain repeat #000;
}

body:has(.modal) {
  overflow: hidden;
}

header{
width: 100%;
margin:0px;
margin-top: 55px;
border: 2px solid var(--border-color);
border-left: 0;
border-right: 0;
background: url("../../data/img/theme/splash.jpg") center / 100vw auto no-repeat;
overflow: hidden;
position: relative;
}

header::after {
content: "";
position: absolute;
inset: 0;
background: url("../../data/img/noise.gif") repeat;
opacity: 0.02; 
pointer-events: none; 
}

header div{
width: 100%;
margin: 0 auto;
background: url("../../data/img/clear.gif") repeat;
overflow: hidden;
}

h1{
width: 100%;
max-width: 1300px;
margin: 0 auto;
font-size: 0;
color: transparent;
text-indent: 100%;
background: url("../../data/img/theme/name.png") center/1900px auto no-repeat;
overflow: hidden;
display: block;
}

/* hero banner height 18 - 26 */
header, header div, h1{
height: 25vw;
}




h2{
width:100%;
margin:0px;
margin-top:9px;
font-size:80px;
line-height:80px;
text-align:left;
}

h3{ 
width:100%;
margin:0px;
margin-bottom:16px;
font-size:40px;
line-height:42px;
text-align:left;
color:#666;
}

h4{ 
width:100%;
margin:0px;
margin-bottom:16px;
font-size:30px;
line-height:30px;
text-align:left;
color:#666;
}

p{
margin:0px;
font-size:16px;
text-align:justify;
}


a{color:#555;}
a:hover{color:#666;}

h3, h2, p{
color:var(--text-color);
transition: color 0.5s ease-in-out;
}

.cl, .sp{
clear:both;
height:5px;
font-size:0px;
line-height:0px;
width:100%;
display: block;
}

.sp{
height:15px;
}

.centered,.foot{  
width:100%;
max-width:1220px;
box-sizing: border-box;
margin:0 auto;
padding:10px;
padding-top:0px;
padding-bottom:10px;
}

.menu{ 
width:100%; 

height:100%;
margin:0 auto;
border-top:solid 1px transparent;
text-align:center;
}






.menu ul a {


height: 50px;
margin:0 auto;
font-size: 18px;
color: #000;
line-height: 50px;
text-align:center;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 2px;
background:var(--text-color);
display: block;
border-radius: 50px;
transition: background-color 0.5s ease-in-out, border-color 0.3s ease-in-out , box-shadow 0.3s ease-in-out;   
}

.menu ul a:focus-visible {background:#333;}

.menu ul a:hover {
background:var(--border-color);  
}

.menu ul li a {
margin-bottom: 10px;  
}

.menu ul li:first-child a {
margin-top: 30px;
}




   
 .breadcrumb{
width:100%;

display: flex;
flex-wrap: wrap;
background: linear-gradient(to bottom, #2b2b2b 0%, #1e1e1e 50%, #141414 100%);
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
box-shadow:0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 2px 6px rgba(0, 0, 0, 0.6);
color: #e6e6e6;
box-sizing: border-box;
margin-bottom:10px;
}
 .bread{
width:100%;
max-width: 1220px;
padding:10px;
padding-top:0px;
padding-bottom:0px;
margin: 0 auto;

display: flex;
flex-wrap: wrap;
box-sizing: border-box;
}

.bread a {
font-size:14px;
line-height:28px;
height:30px;
display:inline-block;
padding: 0 6px;
border-left:1px solid #333;
background: linear-gradient(to bottom, #2b2b2b 0%, #1e1e1e 50%, #141414 100%);

box-shadow:0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 2px 6px rgba(0, 0, 0, 0.6);
color: #fff; box-sizing: border-box;
}








.container {
width:100%;
box-sizing: border-box;
display: flex;
gap: 10px;
flex-wrap: wrap;
flex-direction: row-reverse;
}

.container > div {
  flex: 1; 
  overflow: hidden;
  box-sizing: border-box; 
}









.gallery-mosaic { 
  margin:0 auto;
  width:100%;
  max-width:1200px;
  column-count: 4;
  column-gap: 10px;
}



.gallery-mosaic a{
  display: block;
  width: 100%;line-height:0px;
  margin-bottom: 10px;
  break-inside: avoid;
  height: auto;
  overflow: hidden;
}

.gallery-grid {
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}

.gallery-item {
  display: block;
  color: #ccc;
}

.gallery-item img, .gallery-mosaic img {
  width: 100%;max-width:100%;


  display: block;
}


.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 15px;
}

.gallery-grid img{
width:100%;max-width:100%;
}

.gallery-item.landscape {
  grid-column: span 2;
}

.gallery-item.portrait {
  grid-row: span 2;
}

























/* Tablet */
@media (max-width: 1000px) {
  .gallery-mosaic {
    column-count: 3;
  }
}

/* Large phones / small tablets */
@media (max-width: 700px) {
  .gallery-mosaic {
    column-count: 2;
  }
}

/* Small phones */
@media (max-width: 500px) {
  .gallery-mosaic {
    column-count: 1;
  }
}






footer{
width:100%;
max-width: 1200px;
margin:0 auto;
margin-top:30px;
font-size:14px;
text-align:center;
line-height:50px;
color:#555;       
height:50px;
border:0;
border-top: 2px solid var(--border-color);
}
/* ===== CSS Only Modal ===== */

.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0);
  backdrop-filter: blur(0px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;

  animation: modalFade 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes modalFade {
  from {
    background: rgba(0,0,0,0);
    backdrop-filter: blur(0px);
  }
  to {
    background: rgba(0,0,0,0.85);
    backdrop-filter: blur(4px);
  }
}


.modal-content {
  background: #111;
  border: 1px solid #666;
  border-radius: 5px;
  padding: 40px;
  width: 90%;
  max-width: 800px;
  color: #ccc;
  position: relative;
  box-shadow: 0 0 40px rgba(0,0,0,0.8);

  /* New animation */
  opacity: 0;
  transform: scale(0.8);
  animation: contentFade 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.1s; /* slight delay after backdrop */
}

@keyframes contentFade {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.modal {
  animation: modalFade 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.modal-content {
  animation-delay: 0.2s; /* starts after the background fade */
}






.close-modal {
  position: absolute;
  top: 10px;
  right: 15px;
  text-decoration: bold;
  font-size: 28px;
  color: #9c0000;
}

.modal-content input,
.modal-content textarea {
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  background: #000;
  border: 1px solid #555;
  color: #ccc;
  font-family: "Times New Roman", serif;
}







input {
width:100%;
    padding: 8px;

    border: 1px solid #555;
    border-radius: 4px; background-color: #000;
    font-size: 16px;  box-sizing: border-box;
    color: #333;
}

/* Style for the select element */
select {
    width:100%;
    padding: 8px;

    border: 1px solid #555;
    border-radius: 4px;
    background-color: #000;
    font-size: 16px;
    color: #333;  box-sizing: border-box;
    transition: all 0.3s ease;
}

textarea {
 width:100%;
   height:22vh;
    padding: 8px;  margin:0 auto;

    border: 1px solid #555;
    border-radius: 4px; background-color: #000;
    font-size: 16px;
    color: #333;
    box-sizing: border-box; /* ? add this */
}

.modal-content button {
height: 50px;
margin:0 auto;  width: 100%;
  max-width: 300px;
font-size: 18px;
color: #000;
line-height: 50px;
text-align:center;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 2px;
background: #555;
display: block;
border-radius: 50px;
transition: background-color 0.5s ease-in-out, border-color 0.3s ease-in-out , box-shadow 0.3s ease-in-out;
}

.modal-content button:hover {
  background: #9c0000;
  color: #000;
}