/* ===========================================
   OFCRA THEME - BOOTSTRAP 5 CUSTOM STYLES
   Palette : Olive sombre / Cyan militaire
   =========================================== */

/* ----- ROOT VARIABLES ----- */
:root {
  --ofcra-bg-light: #E6E5DA;
  --ofcra-bg-secondary: #D8D7C5;
  --ofcra-text-dark: #2B2B25;
  --ofcra-text-muted: #4E4D44;
  --ofcra-accent-cyan: #3CB6B6;
  --ofcra-accent-olive: #6A6A54;
  --ofcra-border-soft: rgba(90, 90, 70, 0.2);
  --ofcra-overlay: rgba(255, 255, 255, 0.6);
  --bs-body-font-family: 'Rajdhani', 'Roboto', sans-serif;
 }

/* ----- GENERAL LAYOUT ----- */
body {
  background-color: var(--ofcra-bg-light);
  color: var(--ofcra-text-dark);
  font-size: 15px;
  line-height: 1.6;
}

.container {
  max-width: 1200px;
}
.common {
	color:#90F;	
}
.bluefor, .BLUFOR {
	color:#009;	
}
.redfor, .OPFOR {
	color:#C00;
}
.greenfor, .INDFOR {
	color:#060;
}
.bg-bluefor, .bg-BLUFOR {
	background-color:#009;	
}
.bg-redfor, .bg-OPFOR {
	background-color:#C00;
}
.bg-greenfor, .bg-INDFOR, .bg-GREENFOR {
	background-color:#060;
}



@media (min-width: 1600px) {
  .container {
    max-width: 1400px;
  }
}

/* ----- HEADERS & TITLES ----- */
header {
	background-color:#EDEBDA;
	padding-top:10px;
}	

h1, h2, h3, h4 {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ofcra-text-dark);
}

h1 {
  font-size: 3.0rem;
}

h2 {
  font-size: 2.9rem;
  margin-top: 1.5rem;
  margin-bottom:1rem;

}
#mission header h2 {
	font-size: 5.0rem;
	background:url('/img/logo.png') left center no-repeat;
	background-size:60px;
	padding-left:80px;
	text-align:left;
	margin-bottom:0.5rem;
}
header h1 {
}
header h1 a {
  color:#2B2B25;
}
header p.date {
	text-align:center;
	font-size: 2.7rem;
	font-weight:bold;
	color: var(--ofcra-accent-olive);
		
}
#mission header h1 {
	text-align:center;	
}
#mission h2 {
	text-align:center;
}
.containerSlots h3 {
	text-align:center;	
}
/* ----- LINKS & BUTTONS ----- */
a, .btn-link {
  color: var(--ofcra-accent-cyan);
  text-decoration: none;
}

a:hover, .btn-link:hover {
  color: var(--ofcra-accent-olive);
}

.btn-ofcra {
  background-color: var(--ofcra-accent-cyan);
  color: var(--ofcra-bg-light);
  border: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}

.btn-ofcra:hover {
  background-color: var(--ofcra-accent-orange);
  color: var(--ofcra-bg-light);
}

/* ----- NAVBAR ----- */
.navbar {
  background-color: var(--ofcra-bg-secondary);
}

.navbar-nav .nav-link {
  color: var(--ofcra-text-dark);
  text-transform: uppercase;
  font-size: 0.9rem;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: var(--ofcra-accent-olive);
}

/* ----- SECTIONS ----- */
.section-dark {
  background-color: var(--ofcra-bg-light);
  padding: 60px 0;
}

.section-alt {
  background-color: var(--ofcra-bg-secondary);
  padding: 60px 0;
}

/* ----- CARDS / PANELS ----- */
.card {
  background-color: var(--ofcra-overlay);
  border: 1px solid rgba(200, 198, 167, 0.1);
  border-radius: 10px;
  color: var(--ofcra-text-main);
}

.card:hover {
  border-color: var(--ofcra-accent-cyan);
  transition: all 0.3s ease;
}

/* ----- Missions ----- */
.img-container {
	height:	150px;
	/*background:red;*/
	text-align:center;
}
.img-thumbnail { 
	cursor: pointer; 
	height:100%;
	max-height:150px;
	border:0;
	padding:0;
}
.img-legend {
	text-align:center;
}
.modal-caption { margin-top: 0.5rem; font-size: 0.9rem; color: #555; }
.mission-img { max-height: 300px; object-fit: cover; width: 100%; }
.screenshot-img { max-height: 200px; object-fit: cover; margin-bottom: 1rem; }
.side-column { flex: 1; background: #f0f0f0; padding: 10px; border-radius: 5px; }
.side-column h2 { text-align: center; }
.squad { margin-bottom: 15px; }
.squad h4 { margin: 5px 0 0; font-size: 1em; background:  var(--ofcra-bg-secondary); padding: 10px 10px; border-radius: 3px; overflow:auto; }
.role { padding-left: 10px; }

.team-logo {
	width:20px;
	height:100%;	
}
.team_logo_squad {
	float:right;	
}
.info-squad {
	background-color:#EDEBDA;
	padding:10px;
}


.squad-header {
    cursor: grab;
}

.squad-card.sortable-chosen {
    opacity: 0.6;
}

.squad-card.sortable-ghost {
    background: #f1f1f1;
    border: 1px dashed #999;
}



.team-card { 
width: 150px; 
margin: 10px; 
text-align: center; 
}
.team-card img { 
width: 100%; 
height: auto; 
/*object-fit: cover; */
border-radius: 5px; 
}


/* ----- Calendar ----- */

#calendar {
    max-width: 1000px;
    margin: 50px auto;
    background: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.fc-toolbar-title {
    font-size: 1.5rem;
    font-weight: 600;
}
.fc-daygrid-event {
    white-space: normal !important;
}



/* ----- FOOTER ----- */
footer {
  background-color: var(--ofcra-bg-secondary);
  color: var(--ofcra-text-muted);
  padding: 10px 0;
  font-size: 0.9rem;
  position:static;
  bottom:0;
  width:100%;
}

footer a {
  color: var(--ofcra-accent-cyan);
}

footer a:hover {
  color: var(--ofcra-accent-olive);
}
footer p {
	text-align:center;	
}
/* ----- MISC ----- */
hr {
  border:1px solid;
  border-color: var(--ofcra-text-main);
}

img.desat {
  filter: saturate(60%) brightness(90%);
}

.text-cyan {
  color: var(--ofcra-accent-cyan) !important;
}

.text-orange {
  color: var(--ofcra-accent-orange) !important;
}
@media screen and (max-width: 767px){ 
	.sticky-top {
		position:relative;	
	}
	.img-container {
		height:auto;
	}
	.row-cols-2 > * {
		width:100%;	
	}

	.row-cols-3 > * {
		width:100%;	
	}
	.row-cols-5 > * {
	  width: 33.3%;
	}
}