/* style colours: #F1AD2B #3B5568*/

.bd-placeholder-img {
	font-size: 1.125rem;
	text-anchor: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

@media (min-width: 768px) {
	.bd-placeholder-img-lg {
		font-size: 3.5rem;
	}
}

html,
body {
	height: 100%;
}

body {
	display: -ms-flexbox;
	display: block;
	-ms-flex-align: center;
	align-items: center;
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #ECECFD;
	margin:auto;
}

.content-main {
	text-align: left;
}

.center-box {
position: absolute;
top: 20%;
left: 50%;
width: 60%;
max-width: 330px;
}


#verify-form {
	transform: translateX(-50%) translateY(-50%);
}

#reset-pw-form {
	transform: translateX(-50%) translateY(-50%);
}

#reset-email {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

#reset-done-form{
	transform: translateX(-50%) translateY(-50%);	
}

#set-new-pw{
	transform: translateX(-50%) translateY(-50%);
}

#invalid-link {
	transform: translateX(-50%) translateY(-50%);
}

#pw-succes-outro{
	transform: translateX(-50%) translateY(-50%);
}

#terms-page{
	position: relative;
	top: 10%;
	left: 50%;
	transform: translateX(-50%) translateY(0%);
	width: 70%;
}

#privacy-page{
	position: relative;
	top: 10%;
	left: 50%;
	transform: translateX(-50%) translateY(4%);
	width: 70%;
}

#cookie-page{
	position: relative;
	left: 50%;
	transform: translateX(-50%) translateY(4%);
	width: 70%;
	margin-bottom: 120px;
}


.table-content td, .table-content th, .table-content thead th {
	border: 1px solid black
}

.table-position{
position: relative;
top: 20%;
left: 5%;
width: 90%;
}

th,
td,
tr {
	font-size: 8pt;
	;
}

.login-wrapper{
	margin: auto;
	width: 50%;
	border: 3px solid green;
	padding: 10px;
}
.form-signin {
	width: 100%;
	max-width: 330px;
	padding: 15px;
  }

  .form-signin .checkbox {
	font-weight: 400;
  }

  .form-signin .form-control {
	position: relative;
	box-sizing: border-box;
	height: auto;
	padding: 10px;
	font-size: 16px;
	border: 1px solid #F1AD2B;
  }

  .form-signin .form-control:focus {
	z-index: 2;
	box-shadow: 0 0 0 0.2rem #3B5568;
  }

  .form-signin input[type="email"] {
	margin-bottom: -1px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	width: 100%
  }

  .form-signin input[type="password"] {
	margin-bottom: 10px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
  }

  .footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: auto;
	line-height: 50px;
  }

  .modal {
	display: none;
	/* Hidden by default */
	position: fixed;
	/* Stay in place */
	z-index: 10;
	/* Sit on top */
	padding-top: 20px;
	/* Location of the box */
	left: 0;
	top: 0;
	width: 100%;
	/* Full width */
	height: 100%;
	/* Full height */
	overflow: auto;
	/* Enable scroll if needed */
	background-color: rgb(0, 0, 0);
	/* Fallback color */
	background-color: rgba(0, 0, 0, 0.4);
	/* Black w/ opacity */
  }

  /* Modal Content */
  .modal-content {
	background-color: #fefefe;
	margin: auto;
	padding: 20px;
	border: 1px solid #888;
	width: 40%;
	text-align: left;
	font-size: 12px;

  }

  .cookie-table {
	font-size: 8px;
	margin-top: 10px;
	padding-bottom: 10px;
	table-layout: fixed;
	width: 100%;
  }

  /* .cookie-group-form .cookie-consent-accept .cookie-consent-decline {
	display: inline-flex;
	padding: 8px;
	margin-bottom: 5px;
	text-align: center;
	padding-bottom: 20px
  } */

  /* The Close Button */
  .close {
	color: #aaaaaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
	text-align: right
  }

  .close:hover,
  .close:focus {
	color: #000;
	text-decoration: none;
	cursor: pointer;
  }

p {
	text-align: justify;
	text-justify: inter-word;
}

.switch {
	position: relative;
	display: inline-block;
	width: 90px;
	height: 34px;
	padding-bottom: 30px;
  }
  
  .switch input {display:none;}
  
  .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: lightgrey;
	-webkit-transition: .4s;
	transition: .4s;
  }
  
  .slider:before {
	position: absolute;
	content: "";
	height: 26px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
  }
  
  input:checked + .slider {
	background-color: #2ab934;
  }
  
  input:focus + .slider {
	box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
	-webkit-transform: translateX(55px);
	-ms-transform: translateX(55px);
	transform: translateX(55px);
  }
  
  .on
  {
	display: none;
  }
  
  .on, .off
  {
	color: white;
	position: absolute;
	transform: translate(-50%,-50%);
	top: 50%;
	left: 50%;
	font-size: 10px;
	font-family: Verdana, sans-serif;
  }
  
  input:checked + .slider .on
  {display: block;}
  
  input:checked + .slider .off
  {display: none;}
  
  
  /* Rounded sliders */
  .slider.round {
	border-radius: 5px;
  }
  
  .slider.round:before {
	border-radius: 15%;
}

.logo-container {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 20%;
	left: 50%;
	transform: translateX(-50.5%) translateY(100%);
	width: 90%;
  }

  
  
  .logo-image {
	flex-basis: 5%;
  }

  #logo-login{
	width: 90px; 
	height: 90px; 
	color: white;
  }
  
  .logo-text h1 {
	font-size: 40px;
	color: white
  }

  .btn-primary {
	  background-color: #3B5568;
	  border-color: #3B5568;
	
  }

  .btn-primary:hover {
	background-color: #7EA8be;
	border-color: #7EA8be;
}


  a {
	  color: #3B5568;
  }

  a:hover {
	color: white;
  }

  #ck-st-lk{
	color: #3B5568;
  }
  #plain-footer{
	  position: relative;
  }

/* G+D White Label Styles */
.gi-de-theme {
	background-color: white !important;
	background-image: none !important;
}

.gi-de-theme body {
	background-color: white !important;
	color: black !important;
	font-family: "Noto Sans", Arial, Helvetica, sans-serif !important;
}

.gi-de-theme h1, 
.gi-de-theme h2, 
.gi-de-theme h3, 
.gi-de-theme h4, 
.gi-de-theme h5, 
.gi-de-theme h6 {
	color: black !important;
	font-family: "Noto Sans", Arial, Helvetica, sans-serif !important;
}

.gi-de-theme p,
.gi-de-theme small,
.gi-de-theme .text-muted {
	color: #002a5c !important; /* Very dark blue */
	font-family: "Noto Sans", Arial, Helvetica, sans-serif !important;
}

.gi-de-theme .logo-text h1 {
	color: black !important;
}

.gi-de-theme .form-control {
	border-color: #002a5c !important;
}

.gi-de-theme .btn-primary {
	background-color: #002a5c !important;
	border-color: #002a5c !important;
}

.gi-de-theme .btn-primary:hover {
	background-color: #003d84 !important;
	border-color: #003d84 !important;
}

/* .gi-de-theme a {
	color: #002a5c !important;
} */

.gi-de-theme a:hover {
	color: lightgray !important;
}

.gi-de-theme #ck-st-lk {
	color: #002a5c !important;
}

/* Improved centering for login page elements */
.logo-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 15%;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	text-align: center;
}

.center-box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 60%;
	max-width: 330px;
}


.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: auto;
	line-height: 50px;
	text-align: center;
}

/* G+D specific styling adjustments - now handled by content-wrapper */

/* Fix container centering issues for G+D theme */
.gi-de-theme body.container {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.gi-de-theme .container {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/* Content wrapper for proper centering */
.content-wrapper {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	gap: 40px;
}

.gi-de-theme .content-wrapper {
	padding-top: 40px;
}

.gi-de-theme .logo-container {
	position: relative;
	top: auto;
	left: auto;
	transform: none;
	margin: 0;
	width: auto;
}

.gi-de-theme .center-box {
	position: relative;
	top: auto;
	left: auto;
	transform: none;
	margin: 0 auto;
}

/* Ensure default theme still works with old absolute positioning */
body:not(.gi-de-theme) .content-wrapper {
	position: static;
	min-height: auto;
}

body:not(.gi-de-theme) .logo-container {
	position: absolute;
	top: 15%;
	left: 50%;
	transform: translateX(-50%);
}

body:not(.gi-de-theme) .center-box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

/* Add padding to default theme H1 to match gi-de positioning */
body:not(.gi-de-theme) .logo-container .logo-text {
	padding-top: 80px; /* 60px logo height + 20px margin = 80px to match gi-de spacing */
}

/* Ensure G+D theme logo-text has no extra padding */
.gi-de-theme .logo-text {
	padding-top: 0 !important;
}



