body {
	font-family: 'Montserrat', sans-serif;
}
.top-bar {
	background: linear-gradient(to bottom, #866E22, #ffd700);
	color: #fff;
	padding: 13px 0;
	text-align: right;
}
.top-bar .social-icons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.top-bar .social-icons a {
	color: #fff;
	margin-right: 18px;
	font-weight: 900;
}
.navbar {
	background-color: #000;
	padding-bottom: 15px;
}
.navbar-brand {
	color: #FFD700;
	font-weight: 600;
}
.navbar-nav .nav-link {
	color: #FFF;
	font-weight: 400;
}
.navbar-nav .nav-link:hover,
.dropdown-menu a:hover {
	color: #FFD700;
}
.dropdown-menu {
	background-color: #000;
}
.dropdown-item {
	color: #FFF;
}
.dropdown-item:hover {
	background-color: #333;
}
.carousel-item {
	text-align: center;
	background-color: #f0e8d5;
}
.carousel-item img {
	width: 100%;
	height: auto;
}
.carousel-caption {
	height: 0px;
	position: static;
}
.carousel-caption h3 {
	color: #DAA520;
	font-weight: 600;
}
.carousel-caption p {
	color: #DAA520;
	font-weight: 400;
}
.carousel-control-prev-icon, .carousel-control-next-icon {
	background-color: #DAA520;
}
.join-login {
	margin-top: 10px;
	margin-right: 15px;
}
.join-login .btn {
	margin-right: 10px;
	font-weight: 600;
	border-radius: 50px;
}
.fab {
	color: #000000;
}
.fabw {
	color: #FFF;
	padding-left: 5px;
	padding-right: 10px;
}

.footer {
	display: block; 
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-top: 20px; 
	margin-left: auto;
	margin-right: auto;
	color: #000;
	padding: 20px;
	width: 100vw;
}

.footer a {
	color: #BD9F00;
	margin: 0 10px;
}

.footer a.normal {
	color: #BD9F00;
	margin: 0 0;
}

h1 {
	color: #FFD700;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	font-weight: bold;
}


/* Responsive modal styling */
.modal-dialog {
    max-width: 400px; /* Limit the width to 90% of the screen on smaller devices */
    margin: 1.75rem auto; /* Center the modal with some margin on the sides */
}

section {
	max-width: 100vw;
	display: block; 
	margin: 0px 0px; 	
	padding: 0px 0px;
	align-items: center;
	text-align: center;
}

.customUL {
        list-style-type: none; /* No default bullets */
}

.customLI {
        background-image: url('../img/TICK Icons-02.png');
        background-repeat: no-repeat;
        background-size: 20px 20px; /* Resize the image */
        background-position: 0 0; /* Center vertically */
        padding-left: 30px; /* Adjust padding for image width */
		margin-left: 0px;
}

.limitHalf {
	max-width: 50%;
	min-width: 50%;
}

/* ============================================================ */

.card-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Responsive layout */
  gap: 20px;
  padding: 20px;
  max-width: 1200px; /* Optional max width for the container */
  margin: 0 auto; /* Center the container */
}

.card {
  background: #fff;
  color: #000;
  text-align: center;
  border: 2px solid #e67e23; /* Border for the card */
  border-radius: 10px; /* Optional rounded corners */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow */
}

.card-header {
  background: #e67e23;
  font-weight: bold;
  padding: 10px 0;
  margin-bottom: 10px;
}

.card-button {
  background: orange;
  color: #fff;
  border: none;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 3px;
  cursor: pointer;
  text-transform: uppercase;
}

.card-button:hover {
  background: #ff6600;
}

.centerField {
	background-color: #EEE;
    color: #000;
    padding: 10px 20px;
    border: 1px solid #000;
    border-radius: 5px;
    margin: 5px;
	width: 350px;
	text-align: center;
}

.btn {
    background-color: #28a745;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin: 5px;
}

/* Main container using grid */
.trading-class-container {
  display: grid;
  grid-template-areas: 
    "image table"; /* Define areas */
  grid-template-columns: auto 1fr; /* Image auto-size, table takes the rest */
  gap: 0px; /* Space between the image and the table */
  align-items: start; /* Align content at the top */
  max-width: 1200px;
  margin: auto auto;
}

/* Image area */
.grid-image {
  grid-area: image; /* Matches the "image" area in grid-template-areas */
}

.side-image {
  max-width: 450px; /* Set desired image width */
  height: auto; /* Maintain aspect ratio */
  border: 1px solid #000;
}

/* Table area */
.grid-table {
  grid-area: table; /* Matches the "table" area in grid-template-areas */
  border: 1px solid #000;
  margin-top: 0px;
  width: 100%;  
}

.week-title {
  background-color: #000;
  color: #FFF;
  padding: 5px;
  text-align: center;
}

.week-content {
  color: #000;
  padding: 10px;
  vertical-align: top;
}

.custom-workshop-table {
  width: 100%; /* Ensure the table spans its container */
  border: 1px solid #000;
}

.custom-workshop-table td {
  border: 1px solid #000;
}

/* Tablets (portrait) */
@media (min-width: 480px) and (max-width: 768px) {

	.trading-class-container {
		display: grid;
		grid-template-areas: 
		"image table"; /* Define areas */
		grid-template-columns: auto 1fr; /* Image auto-size, table takes the rest */
		gap: 0px; /* Space between the image and the table */
		align-items: start; /* Align content at the top */
		max-width: calc(100vw-40px);
		margin: auto auto;
	}
	.side-image {
		max-width: 100%; /* Scale image to fit the screen */
	}

	.week-content {
		font-size: 10pt;
	}

	section {
	}
	
	h1 {
		margin: 10px;
	}
	
	.imgControl {
		width: 90%;
		height: auto;
	}
	
	.card img {
		max-width: 90%;
		height: 90%;
	}
	
}


@media (max-width: 768px) {
	.card-container {
	grid-template-columns: 1fr; /* Single column layout */
	}

	.card {
	max-width: 100%; /* Ensure full width on smaller screens */
	}
	.card img {
		max-width: 90%;
		height: 90%;
	}
	
	ul {
		padding-inline-start: 10px;
	}


}


/* ============================================================ */
/* Mobile devices (portrait) */
@media (max-width: 480px) {
.trading-class-container {
	  display: grid;
	  grid-template-columns: 1fr; /* One column layout */
	  grid-template-areas: 
	    "image"
	    "table"; /* Stack image on top of the table */
		gap: 0px; /* Reduced gap for smaller screens */
		margin: auto auto;
	}

  .side-image {
    max-width:  calc(100%); /* Scale image to fit the screen */
  }

  .week-content {
    font-size: 8pt;
  }
  /* Mobile-specific styles */
	.mobileSmall {
		font-size: 0.7em;
		padding: 2px;
	}
	
	.modal-dialog {
		max-width: 400px; /* Limit the width to 90% of the screen on smaller devices */
		margin: 1.75rem auto; /* Center the modal with some margin on the sides */
	}

    .modal-content {
        padding: 1rem; /* Reduce padding for a more compact view */
    }
    .modal-header, .modal-body, .modal-footer {
        padding: 0.5rem; /* Reduce padding inside the modal sections */
    }
    .modal-title {
        font-size: 1.25rem; /* Adjust title font size for better readability on smaller screens */
    }
    .form-group label {
        font-size: 0.9rem; /* Make labels slightly smaller */
    }
    .btn {
        width: 100%; /* Make buttons full-width to fit better on small screens */
        margin-bottom: 0.5rem; /* Add a small gap between buttons */
    }
	section {
		width: 100vw;
		min-height: 100%;
		margin: auto 0px;
		padding: 0px 0px;
		text-align: center;
	}
	
	h1 {
		margin: 20px;
		font-size: 20pt;
	}
	
	.flextd {
		display: flex;
		flex-direction: column; /* Stack the cells vertically */
		align-items: center;
		justify-content: center;
	}
	
	.footer {
		width: 100vw;
	}

	.imgControl {
		width: 100%;
		height: auto;
	}
	
	.limitTbl {
		width: 80vw;
		margin: 0px 0px;
	}

}




