:root {
	--cnvs-themecolor: #203867;
	--cnvs-themecolor-rgb: 32, 56, 103;
	--cnvs-accent-color: #C8102E;
	--cnvs-accent-color-rgb: 200, 16, 46;
	--cnvs-body-font: 'Roboto', sans-serif;
	--cnvs-primary-font: 'Sansita', sans-serif;
	--cnvs-heading-font: 'Archivo Black', sans-serif;
	--cnvs-header-height: 80px;
}

body :is(h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6) {
	font-family: var(--cnvs-heading-font) !important;
	text-transform: uppercase !important;
}

@-webkit-keyframes fadeInUp {
  from {
	opacity: 0;
	-webkit-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
  }
}

@keyframes fadeInUp {
  from {
	opacity: 0;
	-webkit-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
  }
}

#header {
	--cnvs-primary-menu-font: var(--cnvs-heading-font);
	--cnvs-primary-menu-submenu-font: var(--cnvs-heading-font);
	--cnvs-primary-menu-font-weight: 600;
	border: 0 !important;
}

#header .button {
	font-family: var(--cnvs-heading-font);
	margin: 0;
	padding: 26px 34px;
}

.save653-logo {
	width: auto;
	max-height: 68px;
	object-fit: contain;
}

.button-donate {
	background-color: var(--cnvs-accent-color) !important;
	color: #FFF !important;
	border-color: var(--cnvs-accent-color) !important;
}

.button-donate:hover,
.button-donate:focus {
	background-color: #A90D27 !important;
	border-color: #A90D27 !important;
	color: #FFF !important;
}

.partner-logo {
	width: auto;
	max-width: 90px;
	max-height: 52px;
	object-fit: contain;
}

.studio-tab .tab-content img,
.box-img {
	width: 100%;
}

.studio-tab .tab-content img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.mariano-feature-img {
	max-height: 680px;
	object-fit: contain;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.05);
}

.subpage-hero {
	min-height: 360px;
	background-image: url('images/save653/1.svg');
	background-position: center center;
	background-size: cover;
}

.subpage-hero .lead {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, 0.88);
}

.subpage-hero-mark {
	width: auto;
	max-height: 118px;
	object-fit: contain;
}

.subpage-video-hero .video-overlay {
	background-color: rgba(0, 0, 0, 0.42);
}

.section-soft {
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.055);
}

.section-divider > .container,
.section-divider > .container-fluid {
	position: relative;
	z-index: 2;
}

.save653-card,
.phase-card,
.doc-card,
.board-card,
.event-card {
	height: 100%;
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), 0.12);
	border-radius: 8px;
	background-color: #FFF;
}

.save653-card,
.phase-card,
.doc-card,
.event-card {
	padding: 28px;
}

.events-list {
	display: grid;
	gap: 24px;
}

.event-listing-card {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 28px;
	padding: 28px;
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), 0.12);
	border-radius: 8px;
	background-color: #FFF;
	box-shadow: 0 18px 45px rgba(28, 39, 65, 0.06);
}

.event-date-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 104px;
	min-height: 104px;
	border-radius: 8px;
	background-color: var(--cnvs-themecolor);
	color: #FFF;
	text-align: center;
}

.event-date-badge span {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.event-date-badge strong {
	font-family: var(--cnvs-heading-font);
	font-size: 30px;
	line-height: 1.1;
}

.event-card-topline {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
}

.event-status,
.event-category {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 10px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.event-status {
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.1);
	color: var(--cnvs-themecolor);
}

.event-category {
	background-color: rgba(37, 99, 235, 0.1);
	color: #174EA6;
}

.event-listing-body h4 {
	margin-bottom: 10px;
	color: #1d273d;
}

.event-meta-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 22px;
}

.event-meta-grid div {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	min-height: 54px;
	padding: 14px;
	border-radius: 8px;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.055);
	color: #4f5c74;
	font-size: 14px;
	line-height: 1.45;
}

.event-meta-grid i {
	color: var(--cnvs-themecolor);
	font-size: 17px;
	line-height: 1.35;
}

.event-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	margin-top: 24px;
}

.event-actions .button {
	margin-top: 0;
}

.save653-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 18px;
	border-radius: 8px;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.09);
	color: var(--cnvs-themecolor);
	font-size: 24px;
}

.phase-card {
	position: relative;
	overflow: hidden;
}

.phase-card::before {
	content: attr(data-step);
	position: absolute;
	right: 18px;
	top: 8px;
	color: rgba(var(--cnvs-themecolor-rgb), 0.08);
	font-family: var(--cnvs-heading-font);
	font-size: 72px;
	line-height: 1;
}

.board-card {
	overflow: hidden;
}

.board-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.06);
}

.board-card .team-title {
	padding: 24px 24px 8px;
}

.board-card .team-role {
	padding: 0 24px 24px;
	color: #666;
}

.doc-card a {
	word-break: break-word;
}

.donation-form-shell {
	min-height: 520px;
	padding: 32px;
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), 0.12);
	border-radius: 8px;
	background-color: #FFF;
}

.donation-form-embed {
	min-height: 420px;
}

.partner-name {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 92px;
	padding: 20px;
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), 0.12);
	border-radius: 8px;
	background-color: #FFF;
	color: var(--cnvs-themecolor);
	font-family: var(--cnvs-heading-font);
	text-align: center;
	text-transform: uppercase;
}

.cta-panel {
	background-color: var(--cnvs-themecolor);
	color: #FFF;
}

.cta-panel p,
.cta-panel span {
	color: rgba(255, 255, 255, 0.82);
}

.subpage-image {
	width: 100%;
	border-radius: 8px;
	object-fit: cover;
}

.page-title {
	z-index: 1;
}

.hero-diagonal::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to right, rgba(var(--cnvs-themecolor-rgb, 32, 56, 103), 1) 30%, rgba(var(--cnvs-themecolor-rgb, 32, 56, 103), 0.5) 100%);
	-webkit-clip-path: none;
	clip-path: none;
	background-position: center center;
	background-size: cover;
	z-index: 2;
}

.hero-diagonal .container {
	position: relative;
	z-index: 3;
}

.swiper-button-disabled { display: none; }

.slider-arrow-left,
.slider-arrow-right {
	width: 50px;
	height: 50px;
	background-color: #FFF;
	border-radius: 50%;
	left: 20px;
	right: auto;
}
.slider-arrow-right {
	right: 20px;
	left: auto;
}

.slider-arrow-left i,
.slider-arrow-right i {
	color: var(--cnvs-themecolor);
	text-shadow: none;
	height: 50px;
	line-height: 48px;
	margin: 0;
}

.slider-arrow-right i { margin-right: 2px; }

.col-form {
	margin-bottom: -5px;
}

.text-n-right {
	position: relative;
	padding: 0;
	font-size: 36px;
	line-height: 46px;
	font-weight: 700;
	text-align: left;
}

.testimonials-carousel .testimonial {
	border: 0;
	box-shadow: none;
	padding: 0;
}

.testimonials-carousel .testimonial p {
	font-size: 17px;
	color: #444;
	font-family: 'PT Serif', serif;
	font-style: normal;
	margin-bottom: 25px;
	font-weight: 400;
}

.testimonials-carousel .owl-dots { text-align: left; }

.owl-carousel .owl-dots .owl-dot {
	margin-top: 0;
	width: 10px;
    height: 10px;
}

.studio-tab .tabs {
	--cnvs-tab-base-color: #FFF;
	--cnvs-studio-tab-active-color: #FFF;
	--bs-nav-tabs-border-width: 0;
	--bs-nav-link-color: var(--cnvs-tab-base-color);
	--bs-nav-link-padding-x: 0;
	--bs-nav-link-padding-y: 2px;
	--bs-nav-tabs-link-active-bg: transparent;
	--bs-nav-tabs-link-active-color: var(--cnvs-studio-tab-active-color);
	--bs-nav-link-hover-color: var(--bs-nav-tabs-link-active-color);
	--bs-nav-link-font-size: 14px;
	--bs-nav-link-font-weight: 600;
}

.studio-tab .tabs .nav-link {
	margin-left: 1.2rem;
	margin-right: 1.2rem;
}

.studio-tab .tabs .nav-link.active {
	border-bottom: 2px solid currentColor;
}

.section-counter a.btn-link {
	font-size: 14px;
	text-decoration: underline !important;
}

.title-pricing {
	font-size: 44px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: -2px;
}

.title-pricing span {
	color: #AAA !important;
	font-size: 20px;
	font-weight: 300;
	vertical-align: middle;
	letter-spacing: -1px;
}

.box-img {
	position: relative;
	box-shadow: 14px -14px 0 0 rgba(var(--cnvs-themecolor-rgb,253,92,99), 0.15);
}

.box-img.shadow-left {
	box-shadow: -14px -14px 0 0 rgba(var(--cnvs-themecolor-rgb,253,92,99), 0.15);
}

.toggle:not(:last-child) {
	border-bottom: 1px solid #EEE;
	padding-bottom: 15px;
}

#footer {
	border-top: 1px solid #EEE;
}

#footer .widget > h4 {
	font-size: 16px;
	font-weight: 500;
}

#footer address,
.copyrights-menu a,
#footer .widget ul li a {
	font-size: 14px;
	color: #777;
}

.section-counter h2.counter,
.section-counter h2.counter span {
	font-size: 4.3rem;
	line-height: 1.2;
	color: #444;
	font-weight: 300;
	letter-spacing: -3px;
}

.form-availability-success #form-availability { display: none; }

.form-availability-loader.css3-spinner {
	background-color: rgba(255,255,255, 0.8);
	z-index: 1;
}
.form-availability-loader.css3-spinner > div { background-color: rgba(var(--cnvs-themecolor-rgb,253,92,99), 0.6); }

body:not(.form-availability-processing) .form-availability-loader { display: none; }

.button-play i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1);
	color: #FFF;
	font-size: 28px;
	background-color: rgba(255,255,255, 0.1);
	backdrop-filter: blur(10px);
	border-radius: 50%;
	width: 60px;
	height: 60px;
	line-height: 58px;
	text-align: center;
	padding-left: 4px;
	transition: transform .3s ease;
}

.button-play:hover i {
	transform: translate(-50%,-50%) scale(1.1);
}

.owl-carousel-full.full-nav .owl-nav [class*=owl-] {
	opacity: 1 !important;
	top: 0;
	margin-top: 0;
	height: 100%;
	border-radius: 0;
	background: transparent;
	padding: 0 30px;
}

.owl-carousel-full.full-nav .owl-nav [class*=owl-]:hover { background: rgba(0,0,0,0.07) !important; }

.owl-carousel-full.full-nav .owl-dots {
	position: absolute;
	left: 50%;
	bottom: 15px;
	transform:  translateX(-50%);
}

.owl-carousel-full.full-nav .owl-dots .owl-dot { background: #FFF; }

[data-bs-toggle="collapse"][aria-expanded="true"] { display: none; }


/* Responsive Device more than 992px (.device-md >)
-----------------------------------------------------------------*/
@media (min-width: 992px) {

	.hero-diagonal::before {
		width: 60%;
		-webkit-clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%);
	}
	
	.menu-item > .menu-link::after {
		content: '';
		position: absolute;
		left: 0;
		top: -2px;
		width: 100%;
		transform: scaleX(0);
		border-bottom: 3px solid var(--cnvs-themecolor, #FD5C63);
		transform-origin: 0 100%;
		-webkit-transition: all .25s cubic-bezier(.02, .01, .5, 1);
			-o-transition: all .25s cubic-bezier(.02, .01, .5, 1);
				transition: all .25s cubic-bezier(.02, .01, .5, 1);
	}

	.menu-item.active > .menu-link,
	.menu-item.current > .menu-link { color: var(--cnvs-themecolor, #FD5C63); }

	.menu-item.menu-link:hover::after,
	.menu-item.active > .menu-link::after,
	.menu-item.current > .menu-link::after {
		transform: scaleX(1);
		transform-origin: 100% 0;
	}

	.section {
		padding: 100px 0;
		margin-top: 100px;
		margin-bottom: 100px;
	}

	.text-n-right {
		padding: 30px;
		font-size: 48px;
		line-height: 64px;
		margin-right: -48px;
		text-align: right;
		z-index: 1;
		background-color: #FFF;
		-webkit-transform: translateX(16%);
		transform: translateX(16%);
	}

	.section-counter h2.counter,
	.section-counter h2.counter span {
		font-size: 72px;
		line-height: 86px;
	}

	.testimonials-carousel .owl-dots,
	.testimonials-carousel .testimonial {
		text-align: right;
	}

}

@media (max-width: 767.98px) {

	.event-listing-card {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.event-date-badge {
		width: 100%;
		min-height: 86px;
	}

	.event-meta-grid {
		grid-template-columns: 1fr;
	}

	.event-actions {
		align-items: flex-start;
		flex-direction: column;
	}
}
