/* ---------------------------------------------------
   GOSALON — LANDER BASE CSS (Calendar Connect)
   Bootstrap 5.x • Fonts: Circular Pro / Eina 01 • by STELLAR
----------------------------------------------------- */

/* ROOT */
:root {
	--gs-black: #010101;
	--gs-dark: #000000;
	--gs-text: #111111;
	--gs-grey-100: #F8F9FA;
	--gs-grey-200: #EEF0F2;
	--gs-grey-300: #DADCDF;
	--gs-grey-500: #A3A1A0;
	--gs-accent: #07E2EA;
	--gs-accent-2: #A98DFF;
	--gs-danger: #FF5C70;
	--gs-r-s: .25rem;
	--gs-r-m: .55rem;
	--gs-r-l: .75rem;
	--gs-r-xl: 1rem;
	--gs-shadow-1: 0 0 8px 0 rgba(185, 185, 185, .15);
}

* {
	box-sizing: border-box
}

html,
body {
	height: 100%
}

body {
	color: var(--gs-text);
	font-family: 'Eina 01', Arial, sans-serif;
	line-height: 1.5
}

.bg-lightgrey {
	background-color: var(--gs-grey-100) !important
}

/* TYPE */
h1,
h2,
h3,
h4,
h5 {
	color: var(--gs-black);
	font-family: 'Circular Pro', sans-serif;
	letter-spacing: -.02rem;
	margin-bottom: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

h1 {
	font-size: 1.65rem;
	font-weight: 900;
	letter-spacing: -.04rem
}

h2 {
	font-size: 1.45rem;
	font-weight: 900;
	letter-spacing: -.04rem;
	margin-bottom: .6rem
}

h3 {
	font-size: 1.125rem;
	font-weight: 900
}

p {
	font-size: 1rem;
	margin-bottom: 0
}

a {
	color: var(--gs-accent-2);
	text-decoration: none;
	transition: all .3s ease
}

a:hover {
	color: var(--gs-black);
	text-decoration: underline
}

.link--inline {
	text-decoration: underline
}

/* WRAPPERS */
.intro--wrapper,
.paragraph--wrapper,
.form--wrapper {
	background: #FFF;
	border: 1.5px solid var(--gs-grey-200);
	border-radius: var(--gs-r-xl);
	box-shadow: var(--gs-shadow-1);
	padding: 1rem;
	transition: all .3s ease
}

.intro--inner,
.paragraph--inner,
.form--inner {
	background: #FFF;
	border-radius: var(--gs-r-l);
	padding: 1rem 1.25rem
}

.logo--box,
.img--box {
	border-radius: 0;
	overflow: hidden;
	position: relative
}

.logo--box img,
.img--box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

/* SECTIONS */
.section--intro,
.section--paragraph,
.section--form {
	padding: 1rem 0
}

.section--intro .logo--box {
	max-width: 200px;
}

.section--intro .logo--box img {
	height: auto
}

.section--paragraph i.fa-circle-check {
	color: var(--gs-accent);
}

/* INFO BOX */
.info--box {
	background: var(--gs-grey-100);
	border: 1.5px solid var(--gs-grey-200);
	border-radius: var(--gs-r-l);
	box-shadow: var(--gs-shadow-1)
}

/* SCOPE LIST */
.scope--list .scope--code {
	display: block;
	word-break: break-all
}

.scope--list .scope--desc {
	color: var(--gs-text);
	font-size: .95rem;
	margin-top: .15rem;
}

/* BULLETS */
.content--bullets li {
	position: relative;
	padding-left: 0
}

/* BUTTONS */
.btn,
button,
a.btn {
	border-radius: var(--gs-r-m);
	font-family: 'Circular Pro', sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -.0125em;
	padding: .45rem .9rem;
	transition: all .3s ease;
	white-space: nowrap;
	outline: 0;
}

.btn:focus,
button:focus {
	box-shadow: none;
	outline: 0
}

.btn--primary {
	background-color: var(--gs-accent);
	border: 1.5px solid var(--gs-accent);
	color: var(--gs-dark);
	font-family: 'Circular Pro', sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -.025rem;
	padding: .55rem .75rem .4rem .75rem;
}

.btn--primary:hover {
	background-color: var(--gs-dark);
	border-color: var(--gs-dark);
	color: var(--gs-accent);
	text-decoration: none
}

.btn--neutral {
	background: #FFF;
	border: 1.5px solid var(--gs-grey-300);
	color: var(--gs-black)
}

.btn--neutral:hover {
	background: var(--gs-grey-300);
	border-color: var(--gs-grey-300);
	color: var(--gs-black)
}

/* FORMS */
.form--label {
	color: #000000;
	display: block;
	font-family: 'Circular Pro', sans-serif;
	font-size: 1.1rem;
	font-weight: bold;
	letter-spacing: -.0125rem;
	line-height: normal
}

.form--explanation {
	background-color: #F0F2F5;
	border-radius: 8px;
	color: #333;
	display: inline-block;
	font-family: 'Eina 01', Arial, sans-serif;
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 18px;
	margin: 0;
	padding: 5.5px 8px 6.5px 8px;
	vertical-align: middle;
}

/* Controls */
.form-control,
.form-select {
	border: 1.5px solid #CDCFD2 !important;
	border-radius: .375rem;
	color: var(--gs-text) !important;
	font-family: 'Eina 01', Arial, sans-serif;
	font-size: .95rem;
	height: 40px;
	padding: .35rem .75rem .4rem .75rem;
	transition: all .3s ease
}

textarea.form-control {
	height: auto !important;
	min-height: 110px
}

.form-control::placeholder {
	color: #AAAAAA
}

.form-control:disabled {
	background: #FFF !important;
	opacity: 1
}

.form-control:focus,
.form-select:focus {
	background: #FFF !important;
	border-color: var(--gs-dark) !important;
	box-shadow: 0 0 0 .15rem rgba(20, 20, 20, .15) !important;
	color: var(--gs-text) !important;
	outline: 0
}

.form--label.mb-2 {
	margin-bottom: .5rem !important
}

.field--group.mb-3 {
	margin-bottom: 1rem !important
}

/* Form legal */
.form--legal {
	font-size: .9rem;
	color: var(--gs-grey-500)
}

/* Validatie */
.invalid-feedback {
	display: none;
	font-size: .9rem
}

.was-validated .form-control:invalid~.invalid-feedback,
.was-validated .form-check-input:invalid~.invalid-feedback {
	display: block
}

/* Checks & radios */
.form-check .form-check-input {
	transition: all .3s ease
}

.form-check-input:focus {
	box-shadow: none;
	border-color: var(--gs-dark)
}

.checkbox,
.radio {
	background: #FFF;
	border-radius: var(--gs-r-s);
	display: inline-block;
	position: relative;
	width: 22px;
	height: 22px
}

.checkbox .cr,
.radio .cr {
	border: 1.5px solid #CBCFD3;
	border-radius: var(--gs-r-s);
	display: inline-block;
	position: relative;
	width: 24px;
	height: 24px;
	transition: all .3s ease
}

.radio .cr {
	border-radius: 50%
}

.checkbox .cr .cr-icon,
.radio .cr .cr-icon {
	color: var(--gs-dark);
	font-size: 14px;
	left: 18%;
	line-height: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s ease
}

.checkbox input,
.radio input {
	display: none
}

.checkbox label,
.radio label {
	cursor: pointer;
	margin: 0;
	font-weight: 400
}

.checkbox label input[type="checkbox"]:checked+.cr>.cr-icon,
.radio label input[type="radio"]:checked+.cr>.cr-icon {
	opacity: 1;
	transform: scale(1)
}

.checkbox label input[type="checkbox"]+.cr>.cr-icon,
.radio label input[type="radio"]+.cr>.cr-icon {
	opacity: 0;
	transform: scale(.6)
}

/* SELECT */
.form-select {
	appearance: auto;
	background-image: none
}

/* MISC */
.hr--soft {
	color: var(--gs-grey-300);
	opacity: .85
}

.text--detail {
	color: var(--gs-grey-500) !important
}

.text--indicator {
	color: var(--gs-accent) !important
}

/* Responsive inner padding ruimer op groot scherm */
@media (min-width: 1200px) {

	.intro--inner,
	.paragraph--inner,
	.form--inner {
		padding: 1.25rem 1.5rem
	}
}

/* --- ADDITIONS FOR LANDER (neutraal, zwart/wit/grijs) --- */
.section--lander {
	padding: 1.25rem 0
}

.lander--wrapper {
	transition: all .3s ease
}

.lander--wrapper:hover {
	transform: translateY(-1px)
}

.lander--logo {
	max-width: 250px;
}

.lander--logo img {
	height: auto
}

.lander--logo--small {
	max-width: 150px;
	opacity: 1;
	margin-top: .35rem;
}

.lander--logo--small img {
	height: auto
}









/* end css */