:root{
	--main-color: #4cbcde;
	--main-color-darker: #43a7c6;
	--second-color: #de4ca0;
	--second-color:#de4c75;
	--body-color: #f8fafb;
	--body-color-darker:#e5ebee;
	--body-color:#f9f7f3;
	--body-color-darker:#e6e3df;
	--body-color-lighter:#fcfbf9;
	--font-color: #35393c;
	--font-color-lighter:#8f95a2;
	--white-color: #fafafa;
	--max-width: 1200px;
	--max-width-blog: 800px;
	--main-font:'Parkinsans', sans-serif;
	--standard-shadow:0 2px 4px rgba(0, 0, 0, 0.1);
	--inset-shadow:inset 0 1px 1px rgba(0,0,0,.075);
}

*{
	margin:0;
	padding:0;
	box-sizing: border-box;
}

.rounded-shadow{
	border-radius:16px;
	box-shadow:var(--standard-shadow);
}


.unselectable {
	-webkit-user-select: none;  /* Chrome, Safari, and Opera */
	-moz-user-select: none;     /* Firefox */
	-ms-user-select: none;      /* Internet Explorer */
	user-select: none;          /* Standard syntax */
}

/* Hide scrollbars but allow scrolling */
.hide-scrollbars {
	overflow: scroll; /* Enable scrolling */
	-ms-overflow-style: none; /* For Internet Explorer and Edge */
	scrollbar-width: none; /* For Firefox */
}

.hide-scrollbars::-webkit-scrollbar {
	display: none; /* For Chrome, Safari, and Opera */
}

.ellipsis {
	white-space: nowrap;      /* Prevent text wrapping */
	overflow: hidden;         /* Hide overflowed content */
	text-overflow: ellipsis;  /* Add the ellipsis */
}



img.lazy{
	opacity:0;
	transition:all 2s;
}
img.lazy.in-viewport{
	opacity:1;
}

.lazy-content{
	opacity:1;
	transition:all 2s;
}

.lazy-content.outside-viewport{
	opacity:0;
}




html{
	font-size:14px;
}
body{
	font-family: var(--main-font);
	background: var(--body-color);
	padding-top:100px;
	-webkit-text-size-adjust: 100%;
	color:#444;
}

body.no-scroll{
	overflow:hidden;
}

@media screen and (min-width:991px){
	.sticky {
		position: -webkit-sticky;
		position: sticky;
		top: 140px;
	}
}

a{
	text-decoration: none;
	color: var(--second-color);
	font-weight:600;
}

a:hover,
a:focus{
	color: var(--font-color);
	text-decoration: none;
}
h1,h2,h3{
	font-weight:600;
}

p{
	line-height:1.75em;
	margin:1em 0;
	font-weight:400;
}

span.strong{
	font-weight:600;
}

.button-wrapper{
	display:flex;
	gap:10px;
}
.ccm-page .btn{
	border: none;
	font-size: 16px;
	font-weight: 500;
	padding: 12px 24px;
	border-radius: 16px;
	color: #fff;
	background: var(--second-color);
	transition: background 0.3s;
	min-width: 120px;
	outline:none!important;
}
.ccm-page .btn.btn-sm{
	font-size:14px;
	padding: 8px 16px;
	border-radius: 12px;
}

.ccm-page .btn.btn-xsm{
	font-size:12px;
	padding: 6px 12px;
	border-radius: 8px;
	min-width:auto;
}

.ccm-page .btn.btn-lg{
	padding: 16px 32px;
	min-width:140px;
}

.ccm-page .btn.btn-secondary{
	background:#444;
}

.ccm-page .btn:hover,
.ccm-page .btn-primary:hover,
.ccm-page .btn-primary:active,
.ccm-page .btn-primary:focus,
.ccm-page .btn-secondary:hover{
	color:#fff;
	background:var(--main-color);
}

.inline-buttons{
	display:flex;
	gap:10px;
}



.max-width{
	max-width:var(--max-width);
	margin:0 auto;
}
/* ALL FORMS */

.content-container{
	container-type: inline-size;
}
label{
	font-weight:600;
}

input.invalid{
	box-shadow: 0 0 4px red!important;
}
@container (min-width: 480px) {
	.form-group.inline {
		display: grid;
		grid-template-columns: 150px 1fr;
		align-items: stretch;
		border-radius: 12px;
	}
	
	.form-group.inline label {
		display:flex;
		margin: 0;
		align-items: center;
		height:42px;
	}
	.form-group.inline .input-with-help{
		text-align:right;
	}
}
.form-group{
	margin:15px 0;
}
.form-submit{
	margin:15px 0 0 0;
	display:flex;
	justify-content: flex-end;
}
.form-control {
	height: 42px;
	padding: 10px 12px;
	border: none;
	background: var(--body-color-lighter);
	border-radius: 12px;
	color:var(--font-color);
	max-width:100%;
}
.light-bg .form-control{
	background:#fff;
}

input.custom-file-input {
	height: auto;
	border-radius: initial;
	background: none;
}

textarea.form-control{
}

.form-control[disabled]{
	background-color:var(--body-color-darker);
	color:#999;
}

.form-control:focus {
	border-color: var(--second-color);
	outline: 0;
	-webkit-box-shadow: inset 0 0 0 2px var(--second-color);
	box-shadow: inset 0 0 0 2px var(--second-color);
}

select.form-control{
	background:var(--body-color-darker);
	box-shadow: 0 1px 1px rgba(0,0,0,.075);
}

.form-info {
	font-size: 12px;
	color: #9fa1a2;
	/* text-align: right; */
	display: block;
	padding: 5px 0;
}

.form-group .invalid-input {
	padding: 3px 0;
	color: var(--second-color);
	display:none;
}
.invalid .invalid-input{
	display:block;
}
.form-group .form-help{
	padding: 3px 0;
	color: var(--font-color-lighter);
}

input[type="date"] {
	max-width:150px;
}

/* USER ACCOUNT PAGE */
div.qr-row{
	display:flex;
	gap:15px;
}
div.qr-info{
	width:100%;
}
div.qr-code img{
	display:block;
	width:96px;
	height:96px;
}
div.user-form {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	box-shadow: var(--standard-shadow);
	border-radius: 16px;
}

div.user-form.avatar-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	/* justify-content: center; */
	/* align-content: center; */
	text-align: center;
	gap: 15px;
}

div.user-form .custom-file-input-wrapper {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	margin-bottom: 10px;
	flex-direction: column;
	/* box-shadow: 0 0 0 1px gray inset; */
}

div.user-form .custom-file-label {
	cursor: pointer;
}

div.user-form .file-name {
	font-size: 12px;
	color: var(--font-color);
}

div.user-form.avatar-form img.userAvatar{
	width:120px;
	height:120px;
}
img.userAvatar{
	border-radius:50%;
}

div.user-form input[type="file"] {
	display: block;
	border: none;
	box-shadow: none;
	padding: 0;
}

div.user-form p.couple-names{
	margin:0 0 10px 0;
	line-height:1.375em;
	
}
div.user-form h3{
	margin:0;
}

#agent-info{
	align-items:center
	
}

#agent-info p{
	margin:0;
}

/* PAYMENT LIST */

div.list-payments .outer-wrapper{
	max-width:100%;
	overflow:scroll;
}
div.payment-list-wrapper{
	margin:30px 0;
	min-width:800px;
}
div.payment-line.headings{
	font-weight:600;
}
div.payment-line {
	display: grid;
	grid-template-columns: 120px 160px 180px 90px 90px 90px 90px;
}
div.payment-line.with-id{
	grid-template-columns: 40px 120px 160px 210px 90px 90px 90px;
}

div.payment-line.full-version {
	grid-template-columns: 40px 120px 160px 210px 90px 90px 90px 120px 1fr;
	align-items: center;
	border-radius:5px;
	transition:all 0.3s;
}

div.payment-line.full-version:hover{
	background:var(--body-color);
}

div.payment-line:nth-of-type(even){
	background:var(--body-color);
}

div.payment-line div{
	padding:10px 5px;
	font-size:0.875em;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

div.payment-line div.issue-refund{
	text-align:right;
}

div.payment-line div.email{
	
}

div.payment-line.total{
	font-weight:600;
}

div.payment-line.total .total{
	text-align:right;
}

.stripe-data {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--body-color);
	padding: 10px;
	border-radius: 5px;
	margin-top:5px;
}
.stripe-data .data-row{
	display:grid;
	grid-template-columns: 140px 1fr;
}

/* TRANSFER REQUEST */

div.transfer-request{
	padding: 20px;
	background: var(--body-color-lighter);
	border-radius: 12px;
}

div.transfer-request h4{
	margin:0;
}

/* WITHDRAWAL TABLE */
#withdrawal-requests-list{
	transition:all 0.3s;
}
.withdrawal-table {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 15px;
	font-size:0.875em;
}
.withdrawal-row {
	display: grid;
	grid-template-columns: 80px 80px 120px 1fr 130px 130px 120px 220px;
	align-items: center;
	padding: 8px;
	background-color: var(--body-color);
	border-radius: 4px;
	transition:all 0.3s;
}

.withdrawal-row.headings {
	background-color: var(--body-color-darker);
	font-weight: 600;
}
.withdrawal-row.admin-row:hover{
	background:var(--body-color-darker);
}
.withdrawal-row > div {
	padding: 4px 8px;
	word-break: break-word;
}

.withdrawal-row > div.actions{
	display:flex;
	gap:10px;
}

.user-withdrawal-table {
	display: grid;
	gap: 10px;
}

.user-row,
.user-headings {
	display: grid;
	grid-template-columns: 1fr 2fr 2fr 1fr 2fr;
	align-items: center;
	padding: 8px;
	border-bottom: 1px solid #eee;
}

.user-headings {
	font-weight: bold;
	background: #f9f9f9;
}
.badge{
	padding:4px 9px;
	font-weight:600;
}
.badge.badge-completed{
	background-color:#8db341;
}
.badge.badge-pending{
	background-color:var(--main-color);
}

.badge.badge-declined{
	background-color:#c80000;
}

.withdrawal-data{
	background:var(--body-color);
	display:flex;
	gap:15px;
	padding:8px;
}

.requested-actioned,
.bank-details {
	display: flex;
	gap: 15px;
	padding:0 8px;
	border-radius:4px;
}
.requested-actioned div,
.bank-details div{
	display:flex;
	flex-direction:column;
}



/* HEADER */

header#main-header.nav-up{
	transform:translateY(-100%);
}

header#main-header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:800;
	transition:all 0.3s;
	box-shadow:0 0 4px rgba(0,0,0,0.15);
}

/* Top Header */

header#main-header .top-header {
	background: var(--main-color);
	color: #fff;
	padding: 0 5%;
	
}
header#main-header .top-header .wrapper{
	margin:0 auto;
	max-width:1200px;
	height: 50px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position:relative;
}

header#main-header .top-header .user-status {
	cursor:pointer;
	position:relative;
}

header#main-header .top-header .user-status a.logged-out{
	color:#fff;
}

header#main-header .top-header .username {
	display: flex;
	align-items: center;
	gap: 5px;
	height:50px;
}

header#main-header .top-header .username img {
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	margin-right: 5px;
	border: 2px solid rgba(255,255,255,0.25);
}


header#main-header .top-header .user-status p {
	font-weight:500;
	margin:0;
}

header#main-header .top-header .user-info a{
	display:flex;
	align-items:center;
	color:#fff;
	gap:5px;
	font-weight:500;
	padding:10px;
	background:var(--main-color);
	border-radius:5px;
}

header#main-header .top-header .user-info a:hover{
	background:var(--main-color-darker);
}

header#main-header .top-header .user-status a i{
	display:block;
	font-size:18px;
	position:relative;
}

header#main-header .top-header .user-status.attention:before {
	content: '\f12a';
	position: absolute;
	top: 0;
	right: 0;
	font-family: 'Font Awesome 5 Pro';
	width: 16px;
	height: 16px;
	background: var(--second-color);
	border-radius: 8px;
	font-size: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translate(50%,25%);
	font-weight:600;
	box-shadow: 0px 1px 1px rgba(0,0,0,0.2);
}


header#main-header .top-header .username:after{
	content:'\f0d7';
	font-family:'Font Awesome 5 Pro';
	font-weight:600;
}

header#main-header .top-header .user-info {
	display:flex;
	position: absolute;
	top: 45px;
	right:-15px;
	z-index: 1000;
	flex-direction:column;
	gap:5px;
	width:160px;
	opacity:0;
	transform:translateY(-10px);
	pointer-events: none;
	transition:all 0.3s;
	padding: 5px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 2px rgba(0,0,0,0.2);
}
header#main-header .top-header .user-status:hover .user-info{
	opacity:1;
	transform:translateY(0);
	pointer-events: auto;
}

	
/* Bottom Header */

header#main-header .bottom-header{
	padding:0 5%;
	position:relative;
	height:auto;
	transition:all 0.3s;
	background:#fff;
}

header#main-header .bottom-header .wrapper {
	display: flex;
	justify-content: flex-end;
	margin: 0 auto;
	position: relative;
	height: 50px;
	align-items: center;
	max-width:1200px;
}

header#main-header div.logo {
	width: 170px;
	transition: all 0.3s;
	display: flex;
	align-items: center;
	position: absolute;
	top: 5px;
	height: 90px;
	background: #fff;
	left: 0;
	z-index:10;
	border-radius:12px;
}

header#main-header div.logo a{
	display:block;
	height:auto;
	width:100%;
	transition:all 0.3s;
}

header#main-header div.logo a img{
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	transition:all 0.3s;
}
.nav > li > a:focus, .nav > li > a:hover{
	background-color:initial;
}
/* MAIN NAV */
div.blackout{
	background: rgba(0,0,0,0.7);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1500;
	transform:translateX(-100%);
	opacity:0;
	transition:opacity 0.3s;
}
div.blackout.reveal{
	opacity:1;
	transform:translateX(0);
}
nav#main-nav{
	margin-right:-15px;
}

nav#main-nav ul{
	display:flex;
	list-style:none;
}

nav#main-nav ul li{
	margin:0 5px;
	position:relative;
}

nav#main-nav ul li a{
	color: var(--font-color);
	display: flex;
	flex-direction:column;
	justify-content:flex-end;
	padding: 15px;
	font-size: 1em;
	font-weight: 600;
	transition:all 0.3s;
	position:relative;
	text-transform:lowercase;
}

/* sub level nav */

nav#main-nav ul ul{
	position:absolute;
	flex-direction:column;
	width: 280px;
	margin-top:30px;
	visibility:hidden;
	opacity:0;
	transition:all 0.3s;	
}

nav#main-nav li:hover ul{
	margin-top:0px;
	visibility:visible;
	opacity:1;
}

nav#main-nav ul li{
	margin:0;
}

nav#main-nav ul ul li a{
	height: 48px;
	display:flex;
	align-items: :center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-weight:500;
	background:var(--main-color);
	font-size:0.875em;
}

nav#main-nav ul ul li a:hover{
	color:var(--white-color);
	background:var(--second-color);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

nav#main-nav ul ul li a:after{
	display:none;
}

/* MOBILE BURGER */

#mobile-burger {
	display: none;
	flex-direction: column;
	width: 32px;
	height: 32px;
	position: relative;
	justify-content: center;
	z-index: 900;
	cursor: pointer;
	margin-left:20px;
	gap:4px;
}


#mobile-burger span{
	width: 100%;
	height: 3px;
	background: #fff;
	display: block;
	transition: all 0.3s;
	border-radius:2px;
}

#mobile-burger:hover span{
}

/* MAIN NAV MOBILE */

/* MOBILE NAV */
div#close-nav {
	background: var(--second-color);
	color: #fff;
	display: flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
	cursor: pointer;
	transform-origin: center center;
	transition: all 0.3s;
}
#mobile-nav {
	position: fixed;
	top: 50px;
	right: 0;
	width: 100%;
	max-width: 360px;
	background: var(--main-color-darker);
	display: block;
	transform: translateX(100%);
	transition: transform 0.3s;
	z-index: 1600;
	padding: 50px 20px;
	border-radius: 50px 0 0 50px;

	/* Hide scrollbar for Webkit browsers */
	&::-webkit-scrollbar {
		display: none;
	}

	/* Hide scrollbar for IE, Edge, and Firefox */
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
}


#mobile-nav.opened{
	transform:translateX(0);
}

#mobile-nav > ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	padding-left: 30px;
	align-items: flex-start;
}

#mobile-nav li {
	position: relative;
	margin: 3px 0;
	width: 100%;
}

#mobile-nav li a{
	color:#fff;
	font-size:16px;
	height:40px;
	line-height:40px;
	padding:0 10px;
	display:block;
}

#mobile-nav li a:hover {
	/* background: #3c6a9d; */
	color: var(--brand-color-1);
}


/* MOBILE SUBNAV */

#mobile-nav ul ul{
	width:100%;
	height:0;
	overflow:hidden;
	transition:all 0.3s;
}
#mobile-nav ul ul.open{
	height:auto;
}

#mobile-nav li li a{
	font-size:14px;
}

#mobile-nav li li a::before {
	content: '\f105';
	font-family: 'Font Awesome 5 Pro';
	margin-right: 10px;
	color: var(--brand-color-1);
}

/* EXPAND BUTTONS */
#mobile-nav ul li .expand{
	display:flex;
	position:absolute;
	top:5px;
	left:-30px;
	width:28px;
	height:28px;
	background:#f2f2f2;
	border-radius:14px;
	text-align:center;
	cursor:pointer;
	transition:all 0.3s;
	align-items: center;
	justify-content: center;
}

#mobile-nav ul li .expand.opened {
	background:#00b2ae ;
}

#mobile-nav ul li .expand:after{
	content:'\f078';
	font-family:'Font Awesome 5 Pro';
	font-size:14px;
	color:#234a75;
	padding-bottom:2px;
	top: 6px;
	position: absolute;
}
#mobile-nav ul li .expand.opened:after{
	content:'\f077';
	font-family:'Font Awesome 5 Pro';
	font-size:14px;
	color:#f2f2f2;
}
#mobile-nav ul li.nav-item-document-library{
}
#mobile-nav ul li.nav-item-document-library a {
	color: var(--brand-color-1);
}

@media screen and (max-width: 700px) {
	#mobile-nav{ 
		width: 100%;
	}
}

/* MOBILE VIEW */

@media screen and (max-width:1023px){

	header#main-header{
	}
	header#main-header .bottom-header, header#main-header div.logo a, header#main-header nav#main-nav li a, header#main-header nav#main-nav li{
		height:auto;
	}
	header#main-header .bottom-header{
		display:none;
	}
	header#main-header div.logo a svg, header#main-header div.logo a img{
		height: auto;
		transition:all 0.3s;
		padding-top: 10px;
	}
	header#main-header nav#main-nav li li a, header#main-header nav#main-nav li li{
		height:48px;
	}
	#mobile-burger{
		display:flex;
	}
	nav#main-nav{
		display:none;
	}
	nav#mobile-nav{
		display:block;
	}
	header#main-header .top-header .user-info{
		right:-60px;
		width:160px;
	}
	header#main-header .top-header .username p{
		display:none;
	}
	header#main-header .top-header .username img{
		margin-right:0;
	}
}



/* FOOTER */

footer#footer {
	padding: 30px 5%;
	background: #fff;
	margin-top: 45px;
}

footer#footer p.credit{
	font-size:0.75em;
}

/* ACCOUNT PAGE */
section.user-details-form {
	padding: 45px 0;
}

/* DONATION LISTING */


section.donation-pages{
	padding:45px 0;
	
}
div.donations-pages-list{
	display:flex;
	flex-wrap:wrap;
	margin:0;
}

.donation-pages-list-item {
	display: flex;
	flex-direction: column;
	width: 31.333%;
	position: relative;
	margin: 1%;
	background:#fff;
	transition:all 0.3s;
	overflow:hidden;
}

.donation-pages-list-item:hover {
	box-shadow: 0 0 0 8px var(--body-color-darker);
}

.donation-pages-list-item .image {
	width: 100%;
	height: 0;
	padding-bottom: 66%;
	background-size: cover;
	background-position: center center;
	position:relative;
}
.donation-pages-list-item .image:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 40px;
	background: var(--main-color);
}

.donation-pages-list-item .image .user {
	display: flex;
	gap: 10px;
	position: absolute;
	bottom: 0;
	align-items: center;
	bottom: -10px;
	left: 15px;
}

.donation-pages-list-item .image .user p{
	margin:0;
	color:#fff;
	font-weight:500;
}
.donation-pages-list-item .info{
	padding:20px;
}

.donation-pages-list-item .avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	box-shadow:0 0 0 3px #fff;
}

.donation-pages-list-item .avatar img{
	display:block;
	width:100%;
	height:auto;
}

.donation-pages-list-item a{
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

@media screen and (max-width:991px){
	.donation-pages-list-item {
		width:48%;
	}
	
}

@media screen and (max-width:760px){
	.donation-pages-list-item {
		width:100%;
		margin:15px 0;
	}
	
}
/* DONATION PAGE */
section.user-page{
	padding:40px 0;
}
div.couple-information{
	background:#fff;
	padding:20px;
}
div.couple-information .info{
	margin-top:30px;
}

ul.wedding-details{
	list-style:none;
} 

ul.wedding-details li{
	line-height: 1.5em;
	margin: 0.5em 0;
	display:grid;
	grid-template-columns: 30px 1fr;
}

ul.wedding-details li i{
	font-size:1.25em;
}


div.user-selected-image{
	position:relative;
	overflow:hidden;
	border-radius:5px;
}
div.user-selected-image img.users-main-image{
	width:100%;
	height:auto;
	display:block;
}
div.user-selected-image.no-image-selected img.users-main-image{
	width: 100%;
  	height: 0;
  	border: none;
  	background: #7d7d7d;
  	outline: none;
  	padding-bottom: 66%;
	display:block;
}

div.user-selected-image i{
	display:none;
}

div.user-selected-image.no-image-selected i {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 60px;
	display:block;
}

div.user-selected-image .starting-user {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	justify-content: flex-start;
	text-shadow: 0 1px 3px black;
	font-weight: 500;
}

div.user-selected-image .starting-user img.userAvatar {
	width: 55px;
	height: 55px;
	box-shadow: 0 0 0 2px white;
}
/* TOTALISER */
div.fundraising-progress {
	padding: 40px;
	background: #fff;
}
div.totaliser {
	width: 160px;
	height: 240px;
	margin: 0 auto 5px auto;
	position:relative;
}
div.totaliser-neck {
	width: 40px;
	height: 100%;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 0 0 6px var(--body-color-darker);
	position: absolute;
	left: 50%;
	top: 0px;
	transform: translate(-50%, 0);
}
div.totaliser-neck-inner {
	width: 30px;
	height: calc(100% - 10px);
	background: var(--body-color-darker);
	border-radius: 20px;
	position: absolute;
	left: 50%;
	top: 5px;
	transform: translate(-50%, 0);
}

div.totaliser-neck-bottom-fill{
	width: 30px;
	height: 5px;
	background: var(--main-color);
	position: absolute;
	left: 50%;
	bottom: 50px;
	transform: translate(-50%, 0);
}
div.totaliser-bottom{
	width:60px;
	height:60px;
	background: #fff;
	box-shadow: 0 0 0 6px var(--body-color-darker);
	position:absolute;
	left:50%;
	bottom:0;
	transform:translate(-50%,0);
	border-radius:30px;
}

div.totaliser-bottom-inner {
	width: 50px;
	height: 50px;
	background: var(--main-color);
	position: absolute;
	left: 50%;
	bottom: 5px;
	transform: translate(-50%, 0);
	border-radius: 25px;
}

div.totaliser-bottom-fix{
	width:40px;
	height:60px;
	background: #fff;
	position:absolute;
	left:50%;
	bottom:20px;
	transform:translate(-50%,0);
}

div.totaliser-tick-marks {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	position: absolute;
	top: 20px;
	right: 50%;
	height: calc(100% - 75px);
	/* width: 100%; */
	transform: translateX(-20px);
}

div.totaliser-tick-marks .tick {
	width: 15px;
	height: 2px;
	background: var(--body-color-darker);
	position:relative
}
div.totaliser-tick-marks .tick .label {
	position: absolute;
	color: #c6cbce;
	top: 0;
	left: 0;
	text-align: left;
	transform: translate(-100%,-50%);
}
div.totaliser-tick-marks .tick:nth-of-type(6),
div.totaliser-tick-marks .tick:first-of-type,
div.totaliser-tick-marks .tick:last-of-type
{
	width: 25px
}
div.totaliser-total-wrapper{
	position:absolute;
	bottom:55px;
	height: calc(100% - 75px);
	width:100%;
	left:0;
}
.relative-wrapper {
	position: relative;
	height: 100%;
}

div.totaliser div.percentage-raised {
	position: absolute;
	transform: translate(calc(100% + 5px), 50%);
	bottom: 0%;
	width: 90px;
	filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
	border-radius: 5px;
	overflow: hidden;
}
div.totaliser div.percentage-raised .wrapper{
	padding: 5px 5px 5px 18px;

	background: var(--second-color);
	color: #fff;
	font-size: 0.875em;
	clip-path: polygon(0 50%, 15px 0, 100% 0, 100% 100%, 15px 100%);
	display:flex;
	font-weight:600;
}

div.totaliser div.percentage-raised .wrapper span{
	display:block;
	width:34px;
	font-size:2em;
}
div.totaliser-total-bar{
	width: 30px;
	height:0%;
	background:var(--main-color);
	position: absolute;
	left: calc(50% - 15px);
	bottom: 0;
	border-radius: 2px 2px 0 0;
	transform-origin:bottom center;
}
/* TOTALISER MESSAGE */

div.totaliser-message{
	text-align:center;
}
/* TOTALISER BUTTONS */

div.totaliser-buttons {
	margin: 20px auto 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: 240px;
}

div.totaliser-buttons .btn{
	width:100%;
}

/* SHARING MODAL */

#shareModal .modal-dialog{
	overflow:hidden;
	width:280px;
}
div.list-socials{
	display:flex;
	gap:10px;
}
a.socials-item{
	display: flex;
	width: 36px;
	height: 36px;
	background: var(--main-color);
	color: #fff;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	font-size: 18px;
}

.fa-facebook:before{
	content:'\f39e';
}

/* USER MESSAGES */

div.user-messages {
	background: #fff;
	padding: 20px;
	margin: 45px 0 0 0;
	position: relative;
}

div.user-messages:before {
	content: 'Your Messages';
	position: absolute;
	top: 0;
	left: 50%;
	width: fit-content;
	background: var(--second-color);
	transform: translate(-50%,-50%);
	color: #fff;
	padding: 10px 20px;
	border-radius: 50px;
	font-weight: 600;
	box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

div.user-messages p{
	margin:0;
}

div.user-messages p.date {
	/* background: #b0b4b9; */
	/* padding: 2px 6px; */
	display: block;
	width: fit-content;
	/* color: #fff; */
	border-radius: 3px;
	font-size: 12px;
	font-weight: 500;
	color: var(--font-color-lighter);
}

div.user-messages .message{
	border-bottom:1px solid var(--body-color-darker);
	padding:20px 0;
	position:relative;
}

div.user-messages .message.hidden-message{
	opacity:0.5;
}

div.user-messages .message h4{
	margin:0 0 10px 0;
}

div.user-messages .message .visibility-toggle{
	position:absolute;
	top:20px;
	right:0;

	cursor:pointer;
}

div.user-messages .message .visibility-toggle:before{
	content:'\f06e';
	font-family:'Font Awesome 5 Pro';
	font-size:16px;
}
div.user-messages .message .visibility-toggle.toggled-off:before{
	content:'\f070';
}

div.user-messages .message:last-of-type{
	border-bottom:none;
}

/* DONATION PAGE USER FORM */
/* Increase modal width */
.modal-dialog {
	width: 90%; /* Adjust as needed */
	max-width: 900px; /* Optional: limit the maximum width */
	max-height:80%;
	margin: auto; /* Center horizontally */
	position:relative;
	overflow:scroll;
	border-radius: 16px;
}
/* Vertically center the modal */
.modal {
	display: flex !important;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	padding: 0 !important;
}

.modal.fade.in{
	pointer-events:all;
}

.modal-content{
	box-shadow: var(--standard-shadow);
	
}
/* Fix scrolling when content overflows */
.modal-dialog {
	margin: 0;

}
.modal.fade.in .modal-dialog{
	z-index:100;
}
.modal-header,
.modal-body{
	padding:20px;
}


/* DONATION PAGE FORM */

/* User Image */
.user-image-preview-wrapper{
	width:100%;
	padding-bottom:56%;
	position:relative;
}
div#user-image-preview {
	width: 100%;
	height: 100%;
	background-color: #999;
	background-size: cover;
	background-position: center center;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

/* Image Picker */

div.image-picker {

}

div.image-picker .image-folder-wrapper {
	background: var(--body-color-lighter);
	/* padding: 10px; */
	/* border-bottom: 1px solid #ddd; */
	margin-bottom: 10px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow:var(--inset-shadow);
}

div.image-picker .folder-images {
	height:0;
	overflow:hidden
}

div.image-picker .folder-images.folder-opened{
	height:auto;
}

div.image-picker .folder-images .wrapper{
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	padding:16px;
	background:var(--body-color-darker);
}

div.image-picker .folder-name {
	padding:9px 24px;
	display: flex;
	gap: 10px;
	align-items: center;
	cursor:pointer;
	box-shadow:0 0 4px rgba(0,0,0,0.2);
	position:relative;
}

div.image-picker .folder-name:hover {
	color: var(--second-color);
}

div.image-picker .folder-name i {
	font-size: 24px;
	color: #ecd693;
	text-shadow:0 1px 1px rgba(0,0,0,0.25);
}

div.image-picker .folder-name:after{
	content:'\f067';
	position:absolute;
	right:24px;
	top:50%;
	transform:translateY(-50%);
	font-family:'Font Awesome 5 Pro';
}
div.image-picker .folder-name.folder-opened:after{
	content:'\f068';
}

div.image-picker .image-thumbnail{
	width:60px;
	filter:saturate(0);
	box-shadow:0 0 0 3px #ccc;
	border-radius:12px;
	overflow:hidden;
	cursor:pointer;
	transition:all 0.3s;
	position:relative;
}

div.image-picker .image-thumbnail.selected {
	filter: saturate(1);
	box-shadow: 0 0 0 3px var(--second-color);
}

div.image-picker .image-thumbnail:not(.selected):hover{
	filter:saturate(1);
	box-shadow:0 0 0 3px var(--main-color);
	transform:scale(1.1);
	z-index:100;
}

div.image-picker .image-thumbnail img{
	width:100%;
	height:auto;
	display:block;
}