/*
Theme Name:Simpsons Group Child
Theme URI:https://silkyoceanstudios.com/
Description:A bespoke theme for the Simpsons In The Strand website.
Author:Silky Ocean Studios
Author URI:https://silkyoceanstudios.com/
Template:kadence
Version:1.4.9
Text Domain:simpsons-child
*/
:root {
	--heading-1-size: 1rem;
	--heading-1-size-value: 1;
	--heading-2-size: 1.5rem;
	--heading-2-size-value: 1.5;
	--heading-3-size: 0.8rem;
	--heading-3-size-value: 0.8;
	--heading-4-size: 1.125rem;
	--heading-4-size-value: 1.125;
	--colour-dark:#000000;
	--colour-red:#680006;
	--colour-white:#FFFFFF;
	--colour-light:#FFFDF6;
}
@font-face { font-family:AprisRegular; src: url(fonts/Apris-Regular.woff2) format("woff2"); font-weight:400; font-style:normal; font-stretch:normal; font-display:auto; }
@font-face { font-family:AprisMedium; src: url(fonts/Apris-Medium.woff2) format("woff2"); font-weight:400; font-style:normal; font-stretch:normal; font-display:auto; }
@font-face { font-family:AprisBold; src: url(fonts/Apris-Bold.woff2) format("woff2"); font-weight:400; font-style:normal; font-stretch:normal; font-display:auto; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family:AprisMedium, serif; font-optical-sizing:auto; -webkit-font-smoothing:subpixel-antialiased; font-style:normal; text-transform: uppercase; line-height: 1.2;  margin-bottom: 0.2rem;}
.h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; font-family: inherit; text-decoration:none!important }


.h1, h1 { font-size:22px; color:var(--colour-red); }
.h2, h2 { font-size:26px; color:var(--colour-red); }
.h3, h3 { font-size:18px; color:var(--colour-dark); }
.h4, h4 { font-size:0.938rem; color:var(--colour-dark); }
.h5, h5 { font-size:0.875rem; color:var(--colour-dark); }
p { font-family:AprisRegular, serif; font-weight:400; line-height:1.3; margin-bottom: 0.8rem; }
.text-lead { font-size:20px; }
.lead {  font-size: 20px; }
.font-detail { font-family:"Cormorant Garamond", serif; font-size:19px; font-style:italic; line-height:20px; } 
.room-cta { font-size:13px; font-family:AprisRegular, serif; font-weight:500; text-transform:uppercase; line-height:1.3; color:var(--colour-red); text-decoration:none; }


@media(min-width:992px) {
	.h1, h1 { font-size:30px; color:var(--colour-red); }
	.h2, h2 { font-size:26px; color:var(--colour-red); }
	.h3, h3 { font-size:22px; color:var(--colour-dark); }
	.h4, h4 { font-size:0.938rem; color:var(--colour-dark); }
	.h5, h5 { font-size:0.875rem; color:var(--colour-dark); }
	.text-lead { font-size:30px; }
	.font-detail { font-size:22px; } 
	.room-cta { font-size:16px; }
	.lead {  font-size: 26px; }
}

h1.h1-l {
	font-size: 5rem;
}
h2.year-title {
	font-size: 6rem;
	text-transform: none;
}
@media screen and (min-width:992px){
	h1.h1-l {
		font-size: 8rem;
	}
	h2.year-title {
		font-size: 180px;
	}
}
h3.history-title {
	color: #680006;
	font-style: italic;
	text-transform: none;
	font-weight: 500;
	font-family: 'Cormorant Garamond';
	font-size: 30px;
	line-height: 34px;
	margin-bottom: 1rem;
}

img { max-width: 100%; height: auto; display: inline-block; }

.mb-6 { margin-bottom:4rem!important; }
.pb-6 { margin-bottom:4rem!important; }
.py-6 { padding-top:4rem!important; padding-bottom:4rem!important; }
.py-7 { padding-top:8rem!important; padding-bottom:8rem!important; }
.my-7 { margin-top:6rem!important; margin-bottom:6rem!important; }
.mt-6 { margin-top: 4rem !important;}

@media(min-width:992px) {
	.mb-lg-6 { margin-bottom:6rem!important; }
	.pb-lg-6 { margin-bottom:6rem!important; }
	.py-lg-0 { padding-top:0!important; padding-bottom:0!important; }
	.py-lg-6 { padding-top:4rem!important; padding-bottom:4rem!important; }
	.py-lg-7 { padding-top:8rem!important; padding-bottom:8rem!important; }
	.px-lg-6 { padding-left:4rem!important; padding-right:4rem!important; }
	.px-lg-7 { padding-left:8rem!important; padding-right:8rem!important; }
	.my-lg-7 { margin-top:12rem!important; margin-bottom:12rem!important; }

	.g-lg-5, .gx-lg-5 { --bs-gutter-x:4rem; }
	.g-lg-6, .gx-lg-6 { --bs-gutter-x: 6rem; }

	.w-lg-100 { width:100%!important; }
}
@media (min-width:1600px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1520px;
	}
}

a { color: #000;  text-decoration: none; }
a:hover { text-decoration: underline; }

body { font-family:"Cormorant Garamond", sans-serif; line-height:1.2; background:var(--colour-light)!important; }


/* Body overlay ----------------------------------------------------- */
body {
	transition: background 0.6s ease;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.43);
	z-index: 1010;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

body.overlay-open {
	overflow: hidden;
}

body.overlay-open::before {
	opacity: 1;
	pointer-events: auto;
}

/* Main menu panel -------------------------------------------------- */
.main-menu {
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	width: 85%;
	background: var(--colour-red);
	padding: 0 2.5rem;
	z-index: 1030;

	transform: translateX(100%);
	opacity: 0;
	visibility: hidden;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease,
		visibility 0s linear 0.3s;
}

.main-menu.open {
	transform: translateX(0);
	opacity: 1;
	visibility: visible;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease,
		visibility 0s;
}

.main-menu .main-menu-wrap {
	height: 100%;
	display: flex;
	align-items: center;
	padding: 5rem 0;
}

.main-menu .main-menu-links {
	position: relative;
	height: 100%;
	min-width: 190px;
}

/* Menu links ------------------------------------------------------- */
.main-menu .menu li a {
	text-transform:uppercase;
	font-family: AprisMedium, serif;
	font-size: 24px;
	line-height: 1.2;
	color: #FFFFF4;
	display: inline-block;
	text-decoration: none;
	font-weight: 500;
}
.main-menu .menu li .non-link {
	font-family: "Cormorant Garamond", serif;
	font-style:italic;
	font-size: 24px;
	line-height:1.2;
	color: #FFFFF4;
	display: inline-block;
	text-decoration: none;
}

.main-menu .menu li + li {
	margin-top:0.5rem;
}

/* Initial state: slide right & hidden */
.main-menu .menu li, .menu-date {
	position: relative;
	opacity: 0;
	transform: translateX(40px);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}
.menu-date { display:none; text-transform:uppercase; font-family:AprisRegular, serif; font-size:15px; line-height:1; color:#FFFFF4; word-spacing: 0.3rem;}

.blockquote { margin-bottom: 1rem;  font-size: 20px;  font-family: 'AprisMedium';  text-transform: uppercase; font-weight:500;}
.blockquote-author {font-family: 'Cormorant Garamond';  font-size: 22px;  font-style: italic;  font-weight: 400;}

@media screen and (min-width:992px){
	.blockquote { margin-bottom: 1rem;  font-size: 24px;  font-family: 'AprisMedium';  text-transform: uppercase;}
	.blockquote-author {font-family: 'Cormorant Garamond';  font-size: 24px;  font-style: italic;  font-weight: 400;}
}

/* When menu is open: slide in & fade in */
.main-menu.open .menu li, .overlay-open .menu-date {
	opacity: 1;
	transform: translateX(0);
}
.overlay-open .menu-date { display:block; }

/* Simple staggered animation */
.overlay-open .menu-date { transition-delay: 0.5s; }
.main-menu.open .menu li:nth-child(1) { transition-delay: 0.10s; }
.main-menu.open .menu li:nth-child(2) { transition-delay: 0.14s; }
.main-menu.open .menu li:nth-child(3) { transition-delay: 0.18s; }
.main-menu.open .menu li:nth-child(4) { transition-delay: 0.22s; }
.main-menu.open .menu li:nth-child(5) { transition-delay: 0.26s; }
.main-menu.open .menu li:nth-child(6) { transition-delay: 0.30s; }
.main-menu.open .menu li:nth-child(7) { transition-delay: 0.34s; }
.main-menu.open .menu li:nth-child(8) { transition-delay: 0.38s; }
.main-menu.open .menu li:nth-child(9) { transition-delay: 0.42s; }
.main-menu.open .menu li:nth-child(10) { transition-delay: 0.46s; }

.main-menu .menu li a:hover,
.main-menu .menu li a:active {
	text-decoration: underline;
}

/* Burger ----------------------------------------------------------- */
.burger-wrap {
	background: var(--colour-red);
	position: relative;
	z-index: 1050;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}

.burger-wrap .burger {
	width: 28px;
	height: 20px;
	position: relative;
	transform: rotate(0deg);
	transition: 0.5s ease-in-out;
	cursor: pointer;
}

.burger-wrap .burger span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	border-radius: 9px;
	left: 0;
	background: var(--colour-light);
	transition:
		top 0.25s ease-in-out,
		width 0.25s ease-in-out,
		left 0.25s ease-in-out,
		transform 0.25s ease-in-out;
}

.burger-wrap .burger span:nth-child(1) { top: 0; }
.burger-wrap .burger span:nth-child(2) { top: 8px; }
.burger-wrap .burger span:nth-child(3) { top: 8px; }
.burger-wrap .burger span:nth-child(4) { top: 16px; }

/* Burger open (X) state */
.burger-wrap .burger.open span:nth-child(1),
.burger-wrap .burger.open span:nth-child(4) {
	width: 0;
	left: 50%;
}

.burger-wrap .burger.open span:nth-child(2) {
	transform: rotate(45deg);
}

.burger-wrap .burger.open span:nth-child(3) {
	transform: rotate(-45deg);
}

/* Navbar colour variants ------------------------------------------- */
.navbar.navbar-dark,
.navbar.navbar-light {
	z-index: 1030;
}

.navbar.navbar-dark .burger-wrap .burger span {
	background: var(--colour-light);
}

.navbar.navbar-dark.overlap .burger-wrap .burger span,
.navbar.navbar-light .burger-wrap .burger span,
.navbar.navbar-light .burger-wrap .burger.open span {
	background: var(--colour-dark);
}

/* SVG icons (unchanged logic, tidied) ------------------------------ */
.svg-icon {
	width: 1.8rem;
	height: 1.8rem;
}

.svg-icon.icon-lg {
	width: 1.75rem;
	height: 1.75rem;
}

.svg-icon circle {
	stroke: #fff;
	stroke-width: 1;
}

.navbar.navbar-dark .svg-icon path,
.navbar.navbar-dark .svg-icon polygon,
.navbar.navbar-dark .svg-icon rect {
	fill: var(--colour-light);
}

.navbar.navbar-dark.overlap .svg-icon path,
.navbar.navbar-dark.overlap .svg-icon polygon,
.navbar.navbar-dark.overlap .svg-icon rect,
.navbar.navbar-light.overlap .svg-icon path,
.navbar.navbar-light.overlap .svg-icon polygon,
.navbar.navbar-light.overlap .svg-icon rect {
	fill: var(--colour-dark);
}

/* Desktop width ---------------------------------------------------- */
@media (min-width: 992px) {
	.main-menu {
		width: 50%;
		padding: 0 8rem;
	}

	/*.main-menu .menu li a {
	font-size: 26px;
}*/
}

.menu-extra {
	margin-top: 2rem;
	opacity: 0;
	transform: translateX(40px);
	transition: opacity .3s ease, transform .3s ease;
}

.main-menu.open .menu-extra {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .50s; /* comes in after main nav items */
}

.menu-extra-link {
	font-family: "Cormorant Garamond", serif;
	text-transform:uppercase;
	font-size: 15px;
	line-height: 1.2;
	display: inline-block;
	color: #FFFFF4;
	text-decoration: none;
	font-weight: 500;
}

.menu-extra-link:hover {
	text-decoration: underline;
}


footer { position:relative; z-index:3;  }
footer .bg-red { font-family:AprisRegular, serif; color:var(--colour-white); text-transform:uppercase; font-size:15px; position:relative; z-index:3;  }
footer .bg-red a { color:var(--colour-white);}
footer .bg-red .footer-link { display:block; color:var(--colour-white); font-size:14px; line-height:1.3; }
footer .bg-red .footer-link a:hover, , footer a:hover, footer .bg-red a:hover { text-decoration:underline !important; }
footer .bg-red .footer-link + .footer-link { margin-top:0.1rem; }
.hr-top { border-top:1px solid var(--colour-white); padding-top:2rem; }
.copyright { font-family:AprisRegular, serif; font-size:12px; text-transform:uppercase; }
@media(min-width:992px) {
	footer .bg-red .footer-link { font-size:15px; }
}
/* FOOTER
.footer {  }
.footer a, .footer .btn-link { color: #0F071C !important; text-decoration: none; text-transform: uppercase;}
.footer a:hover { text-decoration: underline; }
.footer .navbar-brand { display: block; width: 80px; }
.footer .navbar-brand svg path { fill: #0F071C !important; }
.footer-link { font-family:"Gill Sans", sans-serif; font-size:0.875rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:0.75rem; }
.footer-logo {}
.form-floating .form-control { font-family:"Gill Sans", sans-serif; color:var(--colour-dark); border: none; border-bottom: 1px solid #0F071C; border-radius: 0; background: transparent; padding-left:0; box-shadow: none; }
.form-floating label { font-family:"Gill Sans", sans-serif; color:var(--colour-dark); text-transform:uppercase; padding-left:0; line-height:1.5; }
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label { color:var(--colour-dark); transform: scale(.85) translateY(-.5rem) translateX(0); }
*/






.header { color:var(--colour-light); position:absolute; top:0; left:0; right:0; width:100%; z-index:1040; -webkit-transition:all 300ms ease-in-out 0s; transition:all 300ms ease-in-out 0s; }
.header .navbar-brand, .footer .navbar-brand { width:130px; height:30px; background:50% 50% no-repeat; background-size:contain; text-indent:-9999px; }


:root { --logo-fill:#FFFFFF; }
:root[data-theme="dark"] { --logo-fill:#FFFFFF; }
:root[data-theme="light"] { --logo-fill:#000000; }

.main-logo svg { height:70px; transition:fill 0.25s ease-in-out;  fill: var(--logo-fill); transition: fill 180ms ease; }
@media(min-width:992px) {
	.main-logo svg {  height:115px; }
	.footer .navbar-brand { width:160px; height:27px; }
}



/*.hero { z-index:2; height:100vh; width:100%; background:url(/wp-content/uploads/2025/11/hero-homepage.jpg) 50% 50% no-repeat; background-attachment:fixed; display:flex; align-items:center; justify-content:center; 
--bg-zoom: 100%;
background-size: auto var(--bg-zoom); }*/

.hero {
	position: relative;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	z-index: 2;

	--zoom: 1;

}



/* Pseudo-element for scalable background */
.hero::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background-image: url('/wp-content/uploads/2025/11/hero-homepage.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	/*background-attachment:fixed;*/

	transition: transform 0.05s linear;

	transform: scale(var(--zoom));
	will-change: transform;

	/*--translateY: 0px;
	transform: top(var(--translateY));
	will-change: transform;*/
}

.hero.hero-history::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background-image: url('/wp-content/uploads/2025/11/2the20booking20office-mar22-20Michael20Sinclair-1.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment:fixed;
	transform: scale(var(--zoom));
	transition: transform 0.05s linear; /* smoothens tiny increments */
	will-change: transform;
}


.hero .hero-logo { position:fixed; }
.hero .hero-coming-soon { position:fixed; left:50%; bottom:136px; transform:translatex(-50%); font-family:"Cormorant Garamond", serif; font-size:32px; font-style:italic; color:#FFFFF4; }


.main-content { position:relative; z-index:3; background:var(--colour-light); }


.hero-secondary { min-height: 100vh; display: flex; align-items: center; }
@media(min-width:992px) {
	.hero-secondary { min-height:100vh; }
}






.bg-light { background:var(--colour-light)!important; }
.bg-red { background:var(--colour-red)!important; color:var(--colour-white); }



.main-content { min-height: 100vh; }



.room-content, .room-content-left { min-height:100vh; margin-bottom:16rem; }
.content-standard { min-height:100vh; }


.room-content .room-circle, .room-content-left .room-circle { border-radius:642px; width:642px; max-width: initial; position: absolute; z-index: 2; --circle-offset: 0px; transform: translateY(var(--circle-offset)); will-change: transform; }
.room-content .room-circle { top: 0; right: -180px; }
.room-content-left .room-circle { top: 0; left: -180px; }



.room-content .room-detail { position:absolute; top:40%; left:0; z-index:3; }
.room-content-left .room-detail { position:relative; top:50%; left:0; z-index:3; }

.room-content-left .room-hero { height:700px; width:100%; overflow:hidden; }
.room-content-left .room-hero:after { content:""; display:block; height:700px; width:100%; }
.room-content-left .room-hero img { height:700px; width:100%; object-fit:cover; position:absolute; }




.room-content-fullwidth { margin-bottom:0; padding-top:12rem; }
.room-content-fullwidth .room-circle { aspect-ratio: 1/1; border-radius: 50%; object-fit: cover; pointer-events: none; width:380px; max-width: initial; position: absolute; top:4rem; right:-60px; z-index: 2; --circle-offset: 0px; transform: translateY(var(--circle-offset)); will-change: transform; }
.room-content-fullwidth .room-detail { position:relative; top:0; left:0; z-index:3; }

@media(min-width:992px) {
	.room-content-fullwidth { min-height:100vh; margin-bottom:8rem; padding-top:16rem; }
	.room-content-fullwidth .room-circle { border-radius:960px; width:960px; max-width: initial; position: absolute; top:0; right:-142px; z-index: 2; --circle-offset: 0px; transform: translateY(var(--circle-offset)); will-change: transform; }
	.room-content-fullwidth .room-detail { position:relative; top:0; left:0; z-index:3; }
}

.nellies {}

.nellies-painting { position:absolute; top:auto; bottom:18rem; left:0; z-index:1; }
.voucher-painting { border-radius:300px; width:300px; max-width:initial; position: absolute; z-index:1; top:auto; bottom:4rem; left:-120px; --circle-offset: 0px; transform: translateY(var(--circle-offset)); will-change: transform; }
.voucher-photo { z-index:2; position:relative; }


@media(min-width:992px) {
	.nellies-painting { position:absolute; top:0; bottom:auto; left:30%; z-index:1; }
	.voucher-painting { border-radius:580px; width:580px; max-width:initial; position: absolute; z-index:1; top:25%; bottom:auto; left:-225px; --circle-offset: 0px; transform: translateY(var(--circle-offset)); will-change: transform; }
}

/* History */

.side-menu {  position: sticky;  top: 10%;  padding: 2rem 0; z-index:9;}
.side-me1u .nav-item { font-size: 1.5rem;}

@media screen and (min-width:992px){
	.side-menu {  position: sticky;  top: 35%;  padding: 1rem 0; z-index:9;}
	.side-menu li a { font-size: 22px;}
}

.img-up { position: relative;}
.img-up img {position: absolute;top: -50px; left: 0;}



/* Grand Divan Section */
.ensemble {
	--circle-size: 340px;
	--circle-overflow: -120px;
	--card-lift: 0px;
}
.ensemble__circle { position: absolute; bottom: 10%; right: calc(var(--circle-overflow)); width: var(--circle-size); aspect-ratio: 1/1; border-radius: 50%; object-fit: cover; pointer-events: none; z-index: 0; }
.ensemble__card { position: relative; z-index: 1; transform: none }
@media (min-width:568px) {
	.ensemble { --circle-size: 460px; }
}
@media (min-width:768px) {
	.ensemble { --circle-size: 540px; }
}
@media (min-width:992px) {
	.ensemble { --circle-size: 540px; --circle-overflow: 120px; --card-lift: 28px; }
	.ensemble__circle { top: -5%; bottom: auto; right: calc(var(--circle-overflow) * -1); }
	.ensemble__card { transform: translateY(calc(var(--card-lift) * -1)); }
}
@media (min-width:1200px) {
	.ensemble { --circle-size: 540px; }
	.ensemble__circle { top: -10%; }
}
@media (min-width:1400px) {
	.ensemble { --circle-size: 768px; --circle-overflow: 240px; }
}



/* Romanos Section */
.romanos {
	--circle-size: 440px;
	--circle-overflow: -100px;
	--card-lift: 0px;
}
.romanos__circle { position: absolute; top:-6%; left: calc(var(--circle-overflow)); width: var(--circle-size); aspect-ratio: 1/1; border-radius: 50%; object-fit: cover; pointer-events: none; z-index: 0; }
.romanos__card { position: relative; z-index: 1; transform: none }
.romanos__hero { position: relative; z-index: 1; transform: none }
@media (min-width:568px) {
	.romanos { --circle-size: 460px; }
}

@media (min-width:992px) {
	.romanos { --circle-size:480px; --circle-overflow: 160px; --card-lift: 28px; }
	.romanos__circle { top: 4rem; bottom: auto; left: calc(var(--circle-overflow) * -1); }
	.romanos__card { transform: translateY(calc(var(--card-lift) * -1)); }
}
@media (min-width:1200px) {
	.romanos { --circle-size:580px; --circle-overflow:120px; }
	.romanos_circle { top:5rem; }
}
@media (min-width:1440px) {
	.romanos { --circle-size:640px; }
}

.space {padding:3rem 0;}
.space-2 {padding:2rem 0;}

/* Form */

.form-control {  display: block;  width: 100%;  padding: .375rem .75rem;  font-size: 1rem;  font-weight: 400;  line-height: 1.5;  color: #fff;  background-color: transparent;  background-clip: padding-box;  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  border-radius: var(--bs-border-radius);  transition: border-color .15s ease-in-out, box-shadow .15s 
	ease-in-out;  border-bottom: 1px solid #fff;  border-top: 0;  border-left: 0;  border-right: 0;   border-radius: 0;}
button.form-submit {  background: transparent;  color: #fff;  text-transform: uppercase;  text-decoration: underline;  border: 0;  padding: 0;  font-size: 15px;}
.form-floating>label {  position: absolute; top: 0;  left: 0;    z-index: 2;  height: 100%;  padding: 0.5rem 0;  overflow: hidden;  text-align: start;  text-overflow: ellipsis;  white-space: nowrap;  pointer-events: none;  border: var(--bs-border-width) solid transparent;  transform-origin: 0 0;  transition: opacity .1s ease-in-out, transform .1s ease-in-out;  color: hsl(0deg 0% 100% / 50%);}
.form-floating>.form-control, .form-floating>.form-control-plaintext, .form-floating>.form-select {  height: 2.5rem;  min-height: 2.5rem;  line-height: 1.2;}
.form-floating>.form-control, .form-floating>.form-control-plaintext {  padding: 0rem .75rem;}
.form-check-input[type=checkbox] {  border-radius: 0;}
.form-control:focus {background-color:transparent; color: hsl(0deg 0% 100% / 50%);}
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {color: hsl(0deg 0% 100% / 50%);}
.form-floating>.form-control-plaintext~label::after, .form-floating>.form-control:focus~label::after, .form-floating>.form-control:not(:placeholder-shown)~label::after, .form-floating>.form-select~label::after {background-color:transparent;}

.form-submit:after {content: "→"; display: inline-block;  margin-left: 0.5rem;}

.form-check-input {margin-top:0; margin-bottom:5px;}