:root{
	--color-bg: #f3efe8;
	--color-bg-alt: #e7f0ee;
	--color-text: #2e2e2e;
	--color-muted: #6a6a6a;
	--color-accent: #f0b323;
	--color-accent-dark: #b97800;
	--color-surface: #ffffff;
	--color-border: #e3dfd7;
	--color-shadow: rgba(30, 30, 30, 0.08);
	--color-ink: #1b2d2a;
	--color-sun: #f3c45b;
	--color-fern: #3f7b6f;
}

body{
	margin:0;
	padding:0;
	background: radial-gradient(1200px 500px at 85% 0%, #e9f3f0, var(--color-bg)),
		linear-gradient(135deg, rgba(240, 179, 35, 0.08), rgba(63, 123, 111, 0.08));
	color: var(--color-text);
	font-family: "Source Sans 3", sans-serif;
	font-size: 0.95rem;
	line-height: 1.7;
}

.zold{
	background: #32a549;
}

a{
	text-decoration: none;
	color: #3b3b3b;
}

a:hover{
	color: #000000;
}

h1, h2, h3, h4, h5{
	font-family: "Space Grotesk", sans-serif;
	color: #1f1f1f;
	font-weight: 600;
	margin-bottom: 18px;
	margin-top: 18px;
	letter-spacing: -0.01em;
}
.headerrow a{text-decoration: none;}

footer {
	display: block;
	width: 100%;
	background-color: #e9e4db;
	margin-top: 0px;
	/*position: fixed;*/
	bottom: 0;
	height: 80px;
	color:#2b3f3b;
	padding-top: 10px;
	z-index: 99;
}

img{
	max-width: 100%;
}
.home-program-table th,
.home-program-table td{
	text-align: center;
	vertical-align: middle;
}
.home-program-table th:first-child,
.home-program-table td:first-child{
	font-weight: 700;
}
.home-program-table{
	border-collapse: collapse;
	border: 1px solid #1f1f1f;
}
.home-program-table th,
.home-program-table td{
	border: 1px solid #1f1f1f;
}
.home-program-table thead th{
	background: #e6e6e6;
}
.home-program-table tbody tr:nth-child(odd){
	background: #ffffff;
}
.home-program-table tbody tr:nth-child(even){
	background: #f2f2f2;
}
.home-program-table tbody td{
	background: inherit;
}
.btn-warning{
	background-color: var(--color-accent);
	border-color: var(--color-accent);
}
.btn-success{
	
	background-color: #4EA26D;
	border-color: #4EA26D;
}
.fr-image{
	top:50%;
	left: 50%;
	transform: translate(-50%, 10%);
	position: relative;
	max-width: 300px;
}

.fr-image2{
	max-width: 170px;
}

.frontwelcome{
	text-align: center;
	top: 55vh;
	width: 100%;
	position: absolute;
	left: 0;
}
.frontwelcome span{
	text-align: center;
}

.fr-image-on{
	position: relative;
	max-width: 93px;
	display: inline-block;
}
.headerrow{
	position: relative;
	height: auto;
	border-bottom: 1px solid var(--color-border);
	background: var(--color-surface);
	box-shadow: 0 10px 30px var(--color-shadow);
	border-radius: 12px;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"title profile"
		"menu menu";
	row-gap: 8px;
	padding: 8px 10px 12px;
}
.headerlogo{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 148px;
	position: relative;
}
.headerlogo img{
	display: block;
	max-width: 100%;
}
.headertext{
	display: block;
	height: auto;
	position: relative;
	width: auto;
	grid-area: title;
}
.htt{
	position: static;
	width: auto;
	height: auto;
	padding: 8px 0 0;
}

.profile{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: static;
	height: auto;
	grid-area: profile;
}
.profile ul{
	position: static;
	width: auto;
	right: auto;
	margin: 0;
}
.profile ul li{
	list-style-type: none;
	display: flex;
	align-items: center;
	gap: 8px;
}
.profile i{font-size: 30px;font-weight: 100;top: -2px;position: relative;}

.profile a div{
	margin-right: 10px;
	text-transform: uppercase;
	display: inline-block;
	cursor: pointer;
}
.profile a div span{
	font-size: 12px;
	text-transform: none;
	font-style: italic;
}

.menurow{
	display: flex;
	align-items: center;
	bottom: 0;
	position: relative;
	height: auto;
	vertical-align: middle;
	background: linear-gradient(90deg, #f0b323, #f5c85f);
	border-radius: 10px;
	padding: 2px 10px;
	box-shadow: 0 8px 18px rgba(240, 179, 35, 0.25);
	grid-area: menu;
	width: 100%;
}
.menu-toggle{
	display: none;
	align-items: center;
	justify-content: center;
	background: #fff3d9;
	border: 1px solid rgba(255, 255, 255, 0.6);
	color: #1a1a1a;
	border-radius: 12px;
	height: 42px;
	padding: 0 16px;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 600;
	cursor: pointer;
	margin: 6px 8px;
	box-shadow: 0 8px 16px rgba(176, 131, 0, 0.2);
}
.menu{
	margin-bottom: 0;
	padding-left: 0;
	max-height: 60px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	flex: 1 1 auto;
}
ul.menu:not(.sub-menu) > li span.menu-item-wrapper {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: auto;
	height: 100%;
}

ul.menu > li {
	display: flex;
	flex: 0 0 auto;
	border-right: 1px solid rgba(255, 255, 255, 0.45);
	position: relative;
	height: 60px;
	margin: 0;
	margin-left: -4px;
}
.menu-account{
	margin-left: auto;
	border-right: none;
	margin-right: 0;
	cursor: pointer;
	position: absolute !important;
	right: 1px;
	padding-right: 30px;
}

.menu-account .profile{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 0 0 16px;
	height: 60px;
}
.menu-account .username{
	font-weight: 600;
	letter-spacing: 0.02em;
	padding-right: 10px;
}
.menu input{
	border:none;
	cursor: pointer;
}

ul.menu li.menu-item.current-menu-item input {
text-decoration: none;
color: #404041;
background-color: #e4ddd2;
cursor: pointer;
}

ul.menu li.menu-item input {
text-decoration: none;
background-color: transparent;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

ul.menu > li span.menu-item-wrapper input {
font-family: "Space Grotesk", sans-serif;
font-size: 0.95em;
line-height: 60px;
line-height: 60px;
padding: 0 15px;
top: 0;
display: block;
background-color: transparent;
color: #2b2b2b;
position: relative;
z-index: 3;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

ul.menu > li span.menu-item-wrapper input:hover {
text-decoration: none;
color: #fff;
background-color: var(--color-accent-dark);
}

ul.menu > li span.menu-item-wrapper input:after {
background-color: var(--color-accent-dark);
}

ul.menu > li span.menu-item-wrapper input:after {
content: attr(data-content);
z-index: -1;
width: 100%;
height: 100%;
display: block;
position: absolute;
bottom: -100%;
left: 0;
text-align: center;
color: white;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

.contentdiv{
	margin-top: 10px;
	margin-bottom: 120px;
	min-height: 600px;
}

.modulbox{
	background: linear-gradient(180deg, #ffffff 0%, #fbf7f1 100%);
	border: 1px solid #ede3d3;
	border-radius: 18px;
	margin-bottom: 14px;
	box-shadow: 0 16px 34px rgba(30, 30, 30, 0.1);
	padding: 8px 10px;
}

.modulheader{
	padding: 14px 16px;
	border-radius: 14px;
	margin-right: 0 !important;
	margin-left: 0 !important;
	overflow: hidden;
	position: relative;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(6px);
}
/*.modulheader.active, .modulheader:hover{
	background:#f8f8f8;
}*/

.btnbox:hover{
	background:#f8f8f8;
}

.modultitle{
	font-weight: 700;
	font-size: 20px;
	letter-spacing: -0.01em;
}
.modulbrief-inline{
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 20px;
}
.modulbrief{
	display: none;
	padding: 10px;
	border-radius: 5px;
}
.availableplace{
	float: right;
	padding-top: 5px;
}
.modulappointment span{
	float: right;
	font-weight: 100;
	background: #e9f2dd;
	border-radius: 5px;
	padding: 4px 12px;
	color: #1a1a1a;
	margin-left: 8px;
	position: relative;
	top:-5px;
	width: 100%;
text-align: center;
margin-top: 4px;
max-height: 30px;
}
.modulappointment{
	padding-left: 0;
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.btnbox{
	z-index: 3;
	background: #fff9ef;
	border: 1px solid #f0dcc1;
	border-radius: 12px;
	padding: 8px 10px;
	box-shadow: 0 10px 24px rgba(30, 30, 30, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btnbox.selected{
	background: #d7d7d7;
	border-color: #c8c8c8;
}
.btnbox:hover{
	background:#fff6e7;
	transform: translateY(-2px);
	box-shadow: 0 16px 28px rgba(30, 30, 30, 0.12);
}
.regbtn{
	margin: 0;
	background-color: var(--color-accent);
	border-color: var(--color-accent);
	color: #1a1a1a;
	cursor: pointer;
	z-index: 4;
	max-height: 34px;
	font-weight: 600;
}
.noreg{
	margin: 0;
	background-color: rgba(0,0,0,0.55);
	border-color: rgba(0,0,0,0.55);
	cursor: pointer;
	z-index: 4;
	max-height: 34px;
	color:#fff;
}
.noreg:hover{background-color: rgba(0,0,0,0.5);border-color: rgba(0,0,0,0.5);}
.moduldetails{
	background: #2f3f3b;
	color: #fff;
	border-radius: 8px;
	padding: 6px 10px;
	width: auto;
	text-align: center;
	display: inline-block;
	cursor: pointer;
	margin-top: 7px;
}
.modulappointment-centered{
	justify-content: center;
}

.modulregistration{display:none;text-align: center;}
@media screen and (max-width: 991px){
	.username{
		display: inline-block;
		font-size: 0.95rem;
		text-transform: none;
	}
	.profile{
		height: auto;
		padding: 0 6px 0 0;
	}
	.profile ul{
		position: static;
		width: auto;
		margin: 0;
	}
	.profile ul li{
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.profile a div{
		margin-right: 0;
	}
	.menu{padding-left: 0;}
	.menurow{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 6px 8px;
	}
	.menu-toggle{
		margin: 0;
	}
	.headerrow{
		height: auto;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"title title"
			"menu profile";
	}
}

@media screen and (max-width: 600px){
	.modulbrief{
		display: none;
	}
	.modulbrief-inline{
		display: block;
		max-height: 7.2em;
		overflow: hidden;
		position: relative;
		cursor: pointer;
		margin-bottom: 12px;
	}
	.modulbrief-inline::after{
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 3.2em;
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fbf7f1 100%);
		pointer-events: none;
	}
	.modulbrief-inline.expanded{
		max-height: none;
	}
	.modulbrief-inline.expanded::after{
		display: none;
	}
	.modulbox .dereg{
		display: block !important;
		width: 100%;
		margin-left: 0 !important;
	}
	.modulbox form.ajax-register{
		width: 100%;
	}
	.modulbox .btn.btn-small{
		width: 100%;
		margin-top: 8px;
	}
	.modulbox .btn.btn-success.btn-small{
		margin-left: 0 !important;
	}
	.moduldays{
		margin-top: 8px;
		text-align: left;
	}
	footer{
		height: auto;
		padding: 12px 0 18px;
	}
	footer img{
		max-height: 56px !important;
	}
	.contentdiv{
		margin-bottom: 80px;
	}
}





.wrapper{
	
}

.container2{
	width: 80vw;
	height: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.home-hero{
	padding: 22px 10px 12px;
}

.home-hero h1{
	font-size: 2.6rem;
	margin-bottom: 6px;
	color: var(--color-ink);
}

.home-lead{
	color: var(--color-muted);
	font-size: 1.95rem;
	margin-bottom: 12px;
}

.home-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 16px;
	box-shadow: 0 16px 32px var(--color-shadow);
	position: relative;
	overflow: hidden;
	font-size: 1.05rem;
	line-height: 1.65;
}

.home-card h2{
	font-size: 1.3rem;
	margin-top: 0;
}

.home-card::after{
	content: "";
	position: absolute;
	right: -20px;
	top: -40px;
	width: 120px;
	height: 120px;
	background: radial-gradient(circle, rgba(243, 196, 91, 0.35), rgba(243, 196, 91, 0));
	border-radius: 50%;
}

.hero-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.hero-grid > div:first-child{
	display: flex;
	align-items: center;
	height: 100%;
}

.hero-highlight{
	border-radius: 16px;
	padding: 18px;
	background: linear-gradient(160deg, #fff3d8, #f7ead3);
	border: 1px solid #f0ddbd;
	box-shadow: 0 12px 28px rgba(176, 131, 0, 0.15);
}

.hero-highlight h2{
	font-size: 1.15rem;
	margin-top: 0;
	color: var(--color-ink);
}

.hero-meta{
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.hero-pill{
	padding: 6px 12px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid #efe3c9;
	color: var(--color-ink);
	font-size: 0.85rem;
}
.hero-meta form{
	margin: 0;
}
.hero-pill-button{
	padding: 7px 14px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid #efe3c9;
	color: var(--color-ink);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}
.hero-pill-button:hover{
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #1a1a1a;
}

.advisor-links form{
	display: inline-block;
	margin: 4px 8px 6px 0;
}

.advisor-links input{
	background: #f7f1e6;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.9rem;
	cursor: pointer;
	color: var(--color-ink);
	text-align: center;
	white-space: normal;
}

.advisor-links input:hover{
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #1a1a1a;
}

.section-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.section-grid-single{
	grid-template-columns: 1fr;
}

.section-grid .home-card{
	margin-bottom: 0;
}

@media screen and (max-width: 991px){
	.hero-grid{
		grid-template-columns: 1fr;
	}
	.section-grid{
		grid-template-columns: 1fr;
	}
	.home-hero h1{
		font-size: 2.1rem;
	}
	.menurow{
		padding: 8px 10px 12px;
		border-radius: 16px;
	}
	.menu{
		display: none;
		flex-direction: column;
		gap: 10px;
		overflow-x: visible;
		max-height: none;
		padding: 6px 6px 10px;
	}
	.menurow.menu-open .menu{
		display: flex;
	}
	.menu-toggle{
		display: inline-flex;
	}
	ul.menu > li{
		display: flex;
		height: auto;
		border-right: none;
		margin: 0;
	}
	ul.menu > li span.menu-item-wrapper{
		display: block;
	}
	ul.menu > li span.menu-item-wrapper input{
		height: 40px;
		line-height: 40px;
		padding: 0 14px;
		background: #fff3d9;
		border-radius: 12px;
		box-shadow: 0 8px 16px rgba(176, 131, 0, 0.2);
		white-space: normal;
		width: 100%;
		text-align: left;
	}
	.menurow .activemenu input{
		background: var(--color-accent-dark) !important;
		border-color: var(--color-accent-dark) !important;
		color: #fff !important;
		box-shadow: none;
	}
	ul.menu > li span.menu-item-wrapper input:hover{
		background: #ffdf9a;
		color: #1a1a1a;
	}
	.advisor-links{
		display: flex;
		flex-direction: column;
		gap: 8px;
	}
	.advisor-links form{
		display: block;
		margin: 0;
	}
	.advisor-links input{
		width: 100%;
		padding: 10px 14px;
		font-size: 0.95rem;
	}
}




.cta_button {
	background-color: rgb(255, 255, 255);
	box-shadow: 0px 10px 16.15px 0.85px rgba(0, 0, 0, 0.5);
	z-index: 13;
	text-transform: uppercase;
	color: #c5281c;
	width: 80%;
	height: 80px;
	line-height: 80px;
	margin: 10px auto 10px;
	font-size: 2vw;
	cursor: pointer;
}

.cta_button2 {
	background: rgba(133,23,20,0.8);
	box-shadow: 0px 10px 16.15px 0.85px rgba(0, 0, 0, 0.5);
	z-index: 13;
	text-transform: uppercase;
	color: #fff;
	width: 60%;
	height: 60px;
	line-height: 60px;
	margin: 10px auto 10px;
	font-size: 20px;
	cursor: pointer;
	padding: 15px 30px 0;
}

@media screen and (max-width: 1024px){
	.cta_button2{
		font-size: 16px;
		line-height: 16px;
	}
}

@media screen and (max-width: 600px){
	.cta_button2{
		font-size: 12px;
		line-height: 12px;
	}
	.left, .right{
		width: 80% !important;
	}
}
@media screen and (max-width: 320px){
	.cta_button2{
		font-size: 10px;
		line-height: 10px;
	}
}
.cta_button2:disabled{
	cursor: not-allowed;
}
.cta_button2:disabled:hover{
	background: rgba(133,23,20,0.8) !important;
	color: #fff !important;
	cursor: not-allowed;
}

.cta_button2:hover{
	background-color: rgb(255, 255, 255);
	color: #c5281c;
	
}

.regform{
	width: 80%;
	margin: 30px auto 0;
	color:rgba(133,23,20,0.8);
	
}
.left{
	width: calc(49% - 60px);
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	line-height: 20px;
	font-weight: 700;
}
.right {
	width: calc(49% - 60px);
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	line-height: 20px;
	font-weight: 700;
}
/*.form-control {
    width: 80%;
    height: 32px;
    border: none;
    padding: 0 20px;
    font-size: 16px;
}*/

.cta_hl{
	font-size: 38px;	
	color:rgba(133,23,20,0.8);
	margin-bottom: 40px;
}
.cta_sec_hl{
	color:#555;
	font-size: 25px;
}



.thankyou{
	background: rgba(168,27,56,0.85);
	color: #fff;
	text-align: center;
	font-size: 25px;
	font-family: "helvetica_ce_35_thinregular", Arial, sans-serif;
	font-weight: 300;
	padding: 40px 30px;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 80vw;
	max-width: 1000px;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.error {
	border:1px solid #fff;
	background:red;
}
.extra{display: none;position: absolute;
color: #fff;
background: red;
padding: 1px 20px;transform: rotate(-45deg);
left: -20px;transform: rotate(-45deg);
left: -22px;
top: 6px;
overflow: hidden;font-size: 11px;}

.dl-box{
	padding: 10px;
margin-bottom: 20px;
}
.dl-box .row{
	background: #f8f8f8;
border-radius: 5px;
margin-bottom: 4px;padding: 10px 20px;border: 1px solid #dedede;
}



/* ADMIN */
.adminmenu{
	list-style-type: none;
	margin-top: 40px;
	padding-left: 0;
}
.adminmenu li{
	display: inline-block;
margin-right: 10px;
}

.profilelogoutrow{
	display: none;
	position: absolute;
	right: 16px;
	top: calc(100% + 6px);
	background: #fff;
	padding: 10px 16px;
	width: 180px;
	text-align: center;
	border-radius: 10px;
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
	z-index: 20;
}



.activemenu{
	text-decoration: none;
	color: #fff;
	background-color: var(--color-accent-dark);
	border-radius: 8px;
}

.activemenu input{
	color:#fff !important;
	background-color: var(--color-accent-dark) !important;
	border-color: var(--color-accent-dark) !important;
	box-shadow: none;
}

.modulregistration{
	position: fixed;
	z-index: 9;
	width: 100vw;
	height: 100vh;
	left: 0;
	top: 0;
	background: rgba(245, 242, 235, 0.9);
	backdrop-filter: blur(6px);
}
.modulregistration .col-md-6{
	top: 50%;
}

.dontreg{
	width: fit-content;
	padding-top: 6px;
	background: grey;
	border: 1px solid grey;
}
