.App {
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100vh;
	align-items: center
}

.overlay {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #ffffff7f
}

.App-header {
	/* background-color: #3f4550; */
	background-color: #000d11;
	display: flex;
	flex-direction: row;
	align-items: center;
	font-size: calc(10px + 2vmin);
	color: #affdff;
	min-height: 100px;
	padding: 0 1%;
	width: 90%;
	margin: 0 5%;
	max-width: 100%;
	transition: padding 200ms linear;
}

header.App-header.loginScreen {
	min-height: auto;
}

header.App-header.loginScreen .appLogo img {
	max-width: 600px;
	max-height: 100%;
}

header.App-header.loginScreen.padTop, header.App-header.padTop {
	padding: 45px 1% 0;
	transition: padding 200ms linear;
}

h1.appLogoText {
	margin: 10px 0 20px;
	font-size: 6vw;
	color: #fff;
	padding: 0 20px
}

.appLogo .appLogo {
	max-width: 100%
}

.appLogo img {
	/* max-height: 90px;
	max-width: 100%; */
	max-height: 105px;
	max-width: 100%;
	margin-top: 5px;
}

@media screen and (min-width: 700px) {
	h1.appLogoText {
		font-size: 42px
	}
}

.contentArea {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center
}

.screen {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	justify-content: flex-start;
	align-items: center;
	width: 90%
}

.screen.loginScreen {
	justify-content: flex-start;
	align-items: center;
	background-color: transparent;
}

.screen.profileScreen, .screen.clientsScreen {
	background-color: #0a1d24;
	border-radius: 40px;
	border: 1px solid #000;
	padding: 30px 0
}

.loginBox {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	position: relative;
	bottom: 20px;
	opacity: .9;
	max-width: 100%;
}

.loginContainer {
	transition: all 1s linear;
	border: 2px solid #fff;
	border-radius: 5px;
	padding: 5px 20px;
	background-color: #000;
	color: #fff;
}

.loginContainer .formField {
	display: flex;
	flex-direction: row;
	justify-content: center;
	font-size: 15px;
}

.loginContainer .formField>input {
	border-bottom: 1px solid #fff;
	color: #fff;
}

.loginContainer .formField.submit {
	display: block
}

h3.loginTitle {
	margin: 10px 0 20px;
	font-size: 1.5em
}

.formField {
	margin: 15px 0
}

.formField input {
	border-top: 0 none;
	border-left: 0 none;
	border-right: 0 none;
	border-bottom: 1px solid #000;
	background-color: transparent
}

button {
	border-radius: 6px;
	padding: 5px 11px;
	cursor: pointer
}

button:hover {
	box-shadow: 0 1px 2px 1px #333
}

button:active {
	box-shadow: 0 0 0 1px #555
}

button.greyButton {
	background: #777;
	color: #fff;
	border: 1px solid #777
}

.toggleLogin>p {
	text-decoration: underline;
	font-size: 13px;
	cursor: pointer
}

.loginContainer button.greyButton {
	margin-top: 12px
}

.menuButton {
	font-size: 1.5em;
	cursor: pointer
}

div#root {
	display: flex;
	flex-direction: column
}

.profileContent {
	width: 90%
}

.section.section1 {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: start;
	width: 100%
}

.subSection.horizontal.balancesSection {
	flex: 1;
	margin-right: 50px
}

.subSection.horizontal {
	border: 0 none;
	padding: 0;
	margin: 0;
	width: 100%
}

.periodSelectors {
	display: flex;
	width: 200px;
	flex-direction: row;
	justify-content: space-evenly;
	font-weight: 700;
	font-size: .8em;
	float: right
}

.periodSelector {
	color: #b5b5b5;
	cursor: pointer
}

.periodSelector:hover {
	color: #fff
}

.periodSelector.selected {
	color: #fff;
	pointer-events: none
}

.balanceText {
	color: #b5b5b5;
	font-weight: 700;
	font-size: .9em
}

.balanceAmount {
	font-weight: 700;
	font-size: 2em;
	color: #fff
}

.balanceArea {
	display: flex;
	flex-direction: column;
	align-items: baseline
}

.transRow {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 10px 20px
}

.transRow.headerRow {
	color: #ddd;
	font-weight: 700;
	margin: 10px 0 0
}

.transRow>div {
	width: 100%;
	text-align: left
}

.transRow.itemRow {
	border: 1px solid #999;
	border-radius: 6px;
	margin: 10px 0;
	align-items: center
}

h2.sectionTitle {
	color: #fff;
	font-size: 1.5em;
	margin: 40px 0 0
}

.clientRequestOptions {
	border-radius: 6px;
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	justify-content: center
}

h3.sectionTitle {
	margin: 40px 0 25px;
	color: #fff
}

.section input {
	border-bottom: 2px solid #fff
}

.transClart {
	max-height: 400px
}

.userArea {
	color: #fff;
	display: flex;
	align-items: flex-end;
	padding: 0 20px;
	flex-direction: column;
	justify-content: space-between;
	height: 79%
}

button.greyButton.logoutLink {
	margin-left: 20px
}

.clientRow {
	display: flex;
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 20px 0;
	font-size: 1.1em;
	font-weight: 700;
	border-top: 1px solid #000;
	background: linear-gradient(0deg, #0a1d24 0%, #102d38 20%, #102d38 100%)
}

.clientRowSmallText {
	font-size: .8em;
	color: #b5b5b5
}

.section.clientList {
	width: 100%
}

.clientList h2 {
	margin: 0
}

.totalBalancesText {
	margin: 5px 0 15px;
	color: #999;
	font-weight: 700
}

.section {
	width: 100%
}

.clientsActions h3.sectionTitle {
	margin: 60px 0 15px
}

.clientProfile {
	display: flex;
	width: 100%;
	justify-content: space-around;
	transition: height ease-out .2s
}

.clientProfile .screen.profileScreen {
	border-radius: 0;
	border: 0 none
}

button.addClientButton {
	margin: 40px 0 160px
}

.floatingFormContainer {
	position: fixed;
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: space-around;
	z-index: 10;
	align-items: center;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #4fb3d37f;
	overflow-y: auto
}

.floatingForm {
	background: #000;
	border-radius: 10px;
	border: 2px solid #fff;
	display: flex;
	flex-direction: column;
	padding: 20px 30px;
	box-shadow: 0 0 20px -1px #fff;
	align-items: center;
	justify-content: center;
	max-width: 75%
}

.floatingFormFields {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center
}

.floatingFormFields>div, .floatingFormFields>button {
	margin: 20px
}

.addClientInput.submit>button {
	margin: 20px
}

.floatingFormFields input, .floatingFormFields select {
	background: #d1fdff;
	border-radius: 4px;
	font-size: 1.1em;
	margin: 0 2px
}

.editTransaction.submit>button {
	margin: 0 10px
}

.section.clientsActions {
	background: #1c3842
}

.actionButtons>button {
	margin: 20px
}

.transRow>div.col6 {
	max-width: 70px
}

.transRow>div.col1 {
	max-width: 100px
}

.clientActionButtons {
	margin-top: 40px
}

.clientActionButtons>button {
	margin: 0 20px
}

.floatingFormFields .formFields {
	display: flex;
	flex-direction: row
}

.floatingFormFields .formFields input, .floatingFormFields .formFields button {
	margin: 0 20px
}

.formField.vertical {
	display: flex;
	flex-direction: column;
	margin: 30px 0
}

label.subLabel {
	font-size: .7em;
	margin-left: 5px
}

.floatingFormFields input.editField.modernInput {
	background: transparent;
	border-bottom: 1px solid #fff;
	margin: 0;
	border-radius: 0;
	color: #fff
}

.formField.vertical {
	display: flex;
	flex-direction: column;
	margin: 30px 0;
	align-items: flex-start
}

.floatingForm.profileEditForm .floatingFormFields {
	align-items: flex-start
}

label.subLabel.horizontal {
	margin-top: -15px;
	display: block;
	text-align: left
}

.formField.horizontal {
	display: flex;
	flex-direction: row
}

.floatingFormFields .formField.horizontal input.editField.modernInput {
	margin-right: 10px !important
}

.profileEditForm .floatingFormFields input {
	font-size: 1em
}

.subSection {
	border: 2px solid #06505c;
	padding: 0 20px;
	margin-bottom: 16px
}

h5.subSectionTitle {
	text-align: left;
	margin: 0 0 0 5px;
	color: #06505c;
	font-size: .9em
}

.floatingForm.profileEditForm>h3 {
	margin: 0 0 20px
}

.clientRow>div {
	display: flex;
	flex-direction: column;
	text-align: left;
	width: 20%
}

.clientRow>div.col4 {
	max-width: 150px
}

.clientRow>button {
	align-self: flex-end
}

a.deleteLink {
	color: #c15353;
	font-size: .9em;
	text-decoration: underline;
	cursor: pointer;
	display: inline-block;
	margin-top: 20px
}

.addClientInput {
	margin: 0 5px 10px;
	max-width: 220px
}

.addClientInput.submit {
	max-width: 100%;
	margin: 0
}

p.fieldNote {
	font-size: .8em;
	margin-top: -14px;
	font-style: italic
}

.loginBox p.fieldNote {
	text-align: right
}

.userText {
	display: flex;
	align-items: self-end;
	cursor: pointer
}

span.userTextName {
	margin-right: 5px
}

.emailPhoneLinks>svg {
	margin-right: 32px
}

.floatingFormFields.docs {
	flex-direction: column
}

.floatingFormFields.docs>div {
	align-self: center;
	max-width: 70%
}

.floatingFormFields.docs>div input.editField.modernInput {
	max-width: 100%
}

span.notificationCloseNote {
	display: block;
	font-size: .7em
}

.subSection.documents {
	flex-direction: row;
	display: flex;
	flex-wrap: wrap
}

.documentLinkWrapper {
	border: 2px solid #55b2b5;
	color: #6be5e9;
	padding: 2px 6px;
	margin: 5px 10px;
	border-radius: 8px;
	background: #222;
	cursor: pointer
}

.documentLinkWrapper:hover {
	border: 2px solid #6be5e9
}

.documentLinkWrapper>a {
	display: inline-block
}

.floatingFormFields.exports {
	flex-direction: column
}

.floatingForm.exportForm {
	padding-top: 0
}

.floatingFormFields.exports .formField {
	margin: 15px
}

.floatingForm.exportForm .submit>button {
	margin: 0 10px
}

button {
	background: #29848f;
	color: #fff
}

.button {
	background-color: #4caf50;
	border: none;
	color: #fff;
	padding: 15px 32px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 16px
}

.exportLink {
	display: block;
	margin: 20px
}

.floatingForm.exportForm input {
	color-scheme: dark
}

a.deleteDoc {
	margin-left: 5px
}

a.deleteDoc:hover {
	color: red
}

a.deleteDoc>svg {
	margin-bottom: -2px
}

.mobileOnly {
	display: none
}

.errorScreen {
	text-align: center
}

.toggleHiddenField {
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: space-between
}

.eyeHolder {
	margin-left: 5px
}

.greenEye.eyeHolder {
	color: #0f0
}

.logoutWarning {
	background: #aaa;
	width: 300px;
	position: fixed;
	top: 30%;
	z-index: 99999;
	left: 50%;
	margin-left: -160px;
	text-align: center;
	border: 10px solid #888;
	padding: 5px 10px
}

.logoutSeconds {
	display: block;
	color: #555;
	font-size: 1.2em;
	font-weight: 700
}

.toggleLogin {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly
}

@media (max-width: 768px) {
	header.App-header.loginScreen .appLogo img {
		max-width: 100%;
	}
	.clientRow>div {
		text-align: center;
		width: 50%;
		margin-top: 20px;
	}

	.clientRow>div.col2 {
		display: none;
	}

	.clientRow>div.col4 {
		max-width: 100%;
		width: 100%;
	}

	.clientRow>div.col4>button {
		max-width: 150px;
		margin: 0 auto;
	}

	.clientActionButtons>button {
		margin: 10px;
	}

	.transRow.headerRow {
		display: none
	}

	.mobileOnly {
		display: block
	}

	.transRow {
		flex-wrap: wrap
	}

	.transRow>div {
		width: auto;
		background: #144657;
		padding: 2px 4px;
		border-radius: 5px;
		margin: 5px;
		flex-direction: row;
		display: flex;
		flex-wrap: wrap
	}

	.section.section1 {
		flex-direction: column
	}

	.clientActionButtons > button {
		margin: 10px 20px;
	}

	.periodSelectors {
		width: 100%;
		justify-content: space-around;
		float: none;
	}

	.periodSelector {
		color: #b5b5b5;
		cursor: pointer;
		padding: 5px 0;
		background: #318085;
		border-radius: 10px;
		min-width: 40px;
		margin: 0 1px;
		border: 1px solid #fff
	}

	.totalBalancesTextWrapper>div {
		margin: 0;
	}
	.floatingFormContainer {
		display: block;
	}
	.loginContainer {
		border: 0 none;
	}
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	/* background-color: #3f4550; */
	background-color: #000d11;
	color: #affdff
}

.notification {
	position: fixed;
	top: 0;
	border-bottom: 1px solid #000;
	width: 100%;
	font-weight: 700;
	z-index: 12
}

.notification .notifError {
	background-color: red;
	color: #fff;
	padding: 2px 20px
}

.session-expired-notification {
	position: fixed;
	top: 0;
	border-bottom: 1px solid #000;
	width: 100%;
	font-weight: 700;
	z-index: 12
}

.session-expired-notification .notifError {
	background-color: red;
	color: #fff;
	padding: 10px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px
}

.session-expired-notification .notifError button {
	margin-left: 10px
}

.session-expired-notification .notificationCloseNote {
	font-size: 0.7em;
	margin-left: auto;
	cursor: pointer;
	opacity: 0.8
}

.session-expired-notification .notificationCloseNote:hover {
	opacity: 1
}

.notification .notifNote {
	background-color: #eeffb9;
	color: #000;
	padding: 2px 20px;
	text-align: center;
}

/* For Firefox - if you need Firefox support */
input[type="date"]::-moz-calendar-picker-indicator {
	filter: invert(1);
	cursor: pointer;
}

/* Alternative approach using opacity for better control */
input[type="date"].editField.modernInput::-webkit-calendar-picker-indicator {
	opacity: 0.8;
	filter: brightness(0) invert(1); /* Ensures white icon */
}

input[type="date"].editField.modernInput::-webkit-calendar-picker-indicator:hover {
	opacity: 1;
	filter: brightness(0) invert(0.9); /* Slightly dimmer white on hover */
}

.balanceArea {
	align-items: center;
	margin: 20px 0;
}

.subSection.horizontal.transClart {
	margin-bottom: 20px;
}

.fullscreen-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: black;
	color: white;
	display: flex;
	flex-direction: column;
	/* To arrange text vertically */
	justify-content: center;
	align-items: center;
	font-size: 24px;
	z-index: 9999;
	/* Ensure it appears above other elements */
	opacity: 1;
	/* Start with the popup visible */
	transition: opacity 2s;
	/* Transition for fading out */
	text-align: center;
	/* Center text horizontally */
}

.fullscreen-popup.hide {
	opacity: 0;
	/* Hide popup */
}

.fullscreen-popup .quote {
	margin-bottom: 10px;
	/* Space between quote and citation */
}

.fullscreen-popup .citation {
	font-style: italic;
}

.totalBalancesTextWrapper>div {
	margin: 5px 15px 15px;
}

.totalBalancesTextWrapper {
	display: flex;
	justify-content: center;
}

span.calendarIcon {
	margin-left: 5px;
    display: inline-block;
    margin-top: -3px;
	vertical-align: top;
	cursor: pointer;
	opacity:0.7;
}

span.calendarIcon:hover {
	opacity:1;
}

div#exportResult>button {
    background: #3fabd5;
}

/* Learn More Button Styles */
.learnMoreSection {
	text-align: center;
	margin-top: 20px;
	padding-bottom: 20px;
	display: flex;
	flex-direction: row;
	justify-content: start;
	gap: 6px;
	align-items: center;
	width: 0;
	position: absolute;
	right: -50px;
	bottom: 0;
}

.learnMoreButton {
  background: #000;
  border: 2px solid #29848f;
  color: #29848f;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.4s ease;
  display: inline-block;
  text-shadow: 0 0 8px rgba(41, 132, 143, 0.3);
  box-shadow: 0 4px 12px rgba(41, 132, 143, 0.2);
}

.learnMoreButton:hover {
  background: linear-gradient(135deg, #29848f 0%, #1f6b75 100%);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(41, 132, 143, 0.4);
  text-shadow: none;
}

/* @keyframes bounce {
  0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
  40% {transform: translateY(-10px);}
  60% {transform: translateY(-5px);}
} */

/* Home Content Styles */
.homeContent {
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 0;
  background-color: #000d11;
  position: relative;
  z-index: 1;
  clear: both;
}

.homeSection {
  padding: 80px 20px;
  border-bottom: 1px solid #1a2e35;
}

.homeSection:last-child {
  border-bottom: none;
}

.sectionContent {
  display: flex;
  align-items: center;
  gap: 60px;
  max-width: 1000px;
  margin: 0 auto;
}

.sectionContent.reverse {
  flex-direction: row-reverse;
}

.imageContainer {
  flex: 1;
  min-width: 300px;
}

.sectionImage {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(175, 253, 255, 0.1);
  transition: transform 0.3s ease;
}

.sectionImage:hover {
  transform: scale(1.02);
}

.textContainer {
  flex: 1;
  color: #affdff;
}

.textContainer h2 {
  font-size: 2.5rem;
  margin-bottom: 24px;
  color: #affdff;
  font-weight: 700;
  line-height: 1.2;
}

.textContainer p {
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 20px;
  color: #b5d7db;
}

.philosophyList {
  list-style: none;
  padding: 0;
  margin: 24px 0;
}

.philosophyList li {
  padding: 12px 0;
  border-bottom: 1px solid #1a2e35;
  color: #affdff;
  position: relative;
  padding-left: 30px;
}

.philosophyList li:before {
  content: none;
  position: absolute;
  left: 0;
  color: #29848f;
  font-weight: bold;
}

/* Competitive Advantages Section */
.advantageGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 40px;
}

.advantageItem {
  text-align: center;
  padding: 20px;
  background: rgba(10, 29, 36, 0.5);
  border-radius: 12px;
  border: 1px solid #1a2e35;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.advantageItem:hover {
  transform: translateY(-5px);
  border-color: #29848f;
}

.advantageIcon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 20px;
  display: block;
  object-fit: cover;
}

.advantageItem h3 {
  font-size: 1.3rem;
  margin-bottom: 12px;
  color: #affdff;
}

.advantageItem p {
  font-size: 0.95rem;
  color: #b5d7db;
  margin: 0;
}

/* Benefits Section */
.benefitsList {
  margin-top: 30px;
}

.benefitItem {
  margin-bottom: 30px;
  padding: 20px;
  background: rgba(10, 29, 36, 0.3);
  border-left: 0 none;
  border-radius: 0 8px 8px 0;
}

.benefitItem h4 {
  font-size: 1.4rem;
  color: #affdff;
  margin-bottom: 12px;
}

.benefitItem p {
  margin: 0;
  color: #b5d7db;
}

/* Partnership Approach Steps */
.approachSteps {
  margin-top: 40px;
}

.stepItem {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  gap: 20px;
}

.stepNumber {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #29848f;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: bold;
  flex-shrink: 0;
}

.stepContent h4 {
  font-size: 1.3rem;
  color: #affdff;
  margin-bottom: 8px;
}

.stepContent p {
  color: #b5d7db;
  margin: 0;
}

/* Contact Form Section */

.formContainer {
  flex: 1;
  background: rgba(10, 29, 36, 0.7);
  padding: 40px;
  border-radius: 16px;
  border: 1px solid #1a2e35;
}

.formContainer h2 {
  color: #affdff;
  margin-bottom: 16px;
}

.formContainer > p {
  color: #b5d7db;
  margin-bottom: 30px;
}

.contactForm {
  width: 100%;
}

.formRow {
  display: flex;
  gap: 20px;
  margin-bottom: 25px;
}

.formField {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.formField.fullWidth {
  width: 100%;
}

.formField label {
  color: #affdff;
  margin-bottom: 8px;
  font-weight: 600;
}

.formField input,
.formField select,
.formField textarea {
  padding: 12px 16px;
  border: 2px solid #1a2e35;
  border-radius: 8px;
  background: rgba(0, 13, 17, 0.8);
  color: #affdff;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.formField input:focus,
.formField select:focus,
.formField textarea:focus {
  outline: none;
  border-color: #29848f;
}

.formField input.error,
.formField select.error,
.formField textarea.error {
  border-color: #c15353;
}

.errorText {
  color: #c15353;
  font-size: 0.85rem;
  margin-top: 5px;
}

.submitButton {
  background: #29848f;
  color: white;
  border: none;
  padding: 16px 32px;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  width: 100%;
  margin-top: 20px;
}

.submitButton:hover:not(:disabled) {
  background: #1f6b75;
  transform: translateY(-2px);
}

.submitButton:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.successMessage {
  text-align: center;
  padding: 40px;
  background: rgba(47, 175, 108, 0.1);
  border: 2px solid #2faf6c;
  border-radius: 12px;
}

.successMessage h3 {
  color: #2faf6c;
  margin-bottom: 16px;
}

.successMessage p {
  color: #affdff;
  margin-bottom: 24px;
}

.resetFormButton {
  background: transparent;
  border: 2px solid #29848f;
  color: #29848f;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.resetFormButton:hover {
  background: #29848f;
  color: white;
}


/* Desktop horizontal layout - ensure Learn More is visible */
/* @media (min-width: 769px) {
  .learnMoreSection {
	margin-top: 30px;
	padding: 25px 20px;
  }
} */

.scrollArrow {
  font-size: 2.5rem;
  color: #29848f;
  cursor: pointer;
  animation: bounce 2.5s infinite;
  display: inline-block;
  text-shadow: 0 0 15px rgba(41, 132, 143, 0.5);
  transition: all 0.3s ease;
}

.scrollArrow:hover {
  color: #affdff;
  text-shadow: 0 0 20px rgba(175, 253, 255, 0.7);
  transform: scale(1.1);
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
	transform: translateY(0);
  }
  40% {
	transform: translateY(-15px);
  }
  60% {
	transform: translateY(-8px);
  }
}

/* Back to Top Button */
.backToTop {
  text-align: center;
  padding: 40px 20px;
}

.backToTopButton {
  background: rgba(41, 132, 143, 0.2);
  border: 1px solid #29848f;
  color: #29848f;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.backToTopButton:hover {
  background: #29848f;
  color: white;
  transform: translateY(-2px);
}

/* Footer */
.homeFooter {
  background: rgba(0, 13, 17, 0.9);
  border-top: 1px solid #1a2e35;
  padding: 40px 20px;
  text-align: center;
}

.footerContent p {
  color: #b5d7db;
  margin: 8px 0;
  font-size: 0.95rem;
}

.footerContent p:first-child {
  font-weight: 600;
  color: #affdff;
}

/* Responsive Design */
@media (max-width: 768px) {
  .homeSection {
	padding: 60px 15px;
  }

  .sectionContent {
	flex-direction: column;
	gap: 40px;
  }

  .sectionContent.reverse {
	flex-direction: column;
	gap: 40px;
  }

  /* Ensure consistent image-first order on mobile */
  .sectionContent.reverse .imageContainer {
	order: -1;
  }

  .imageContainer {
	min-width: unset;
	width: 100%;
  }

  .textContainer h2 {
	font-size: 2rem;
	text-align: center;
  }

  .textContainer p {
	font-size: 1rem;
  }

  .advantageGrid {
	grid-template-columns: 1fr;
	gap: 20px;
  }

  .formRow {
	flex-direction: column;
	gap: 15px;
  }

  .formContainer {
	padding: 30px 20px;
  }

  .stepItem {
	flex-direction: column;
	text-align: center;
	align-items: center;
  }

  .stepNumber {
	margin-bottom: 15px;
  }

  /* .learnMoreButton {
	width: 90%;
	max-width: 300px;
	padding: 14px 24px;
	font-size: 1rem;
  } */
	.learnMoreSection {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		gap: 6px;
		align-items: center;
		width: 100%;
		position: relative;
		margin-top: 10px;
	}
  .scrollArrow {
	font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .homeSection {
	padding: 40px 10px;
  }
.loginBox {
flex-direction: column;
}

  .textContainer h2 {
	font-size: 1.7rem;
  }

  .advantageIcon {
	width: 60px;
	height: 60px;
  }

  .stepNumber {
	width: 40px;
	height: 40px;
	font-size: 1.2rem;
  }

  .formContainer {
	padding: 25px 15px;
  }

  .submitButton {
	padding: 14px 20px;
	font-size: 1rem;
  }
}

/* Additional smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Improve focus states for accessibility */
.learnMoreButton:focus,
.submitButton:focus,
.resetFormButton:focus,
.backToTopButton:focus {
  outline: 2px solid #affdff;
  outline-offset: 2px;
}

.formField input:focus,
.formField select:focus,
.formField textarea:focus {
  box-shadow: 0 0 0 3px rgba(41, 132, 143, 0.2);
}
.quoteContainer {
	width: 100%;
	font-size: 26px;
}
