/* Carousels */

.carousel-fade .carousel-item {
  display: block;
  opacity: 0;
  transition: opacity ease-in-out 1s;
  width: 100%;
  z-index: 0;
}

.carousel-fade .carousel-item.active {
  opacity: 1;
  z-index: 1;
}

.carousel-indicators {
  margin-bottom: 2rem;
  margin-left: 2rem;
  margin-right: 2rem;
}

.carousel-indicators [data-bs-target] {
	border-radius: 50%;
	width: 10px;
	height: 10px;
	margin-right: 7.5px;
	margin-left: 7.5px;
	background-color: #000;
	border-top: none;
	border-bottom: none;
	opacity: 1;
	transition: none;	
}

.carousel-indicators.justify-content-start [data-bs-target]:first-child {
	margin-left: 0;
}

.carousel-indicators.text-white [data-bs-target] {
	background-color: #fff;
}

.carousel-indicators .active {
	background-color: transparent;
	border: 1px solid #000;
	height: 8px;
	width: 8px;
}

.carousel-indicators.text-white .active {
	background-color: transparent;
	border-color: #fff;
}

.carousel-prev, .carousel-next {
	cursor: pointer;
	height: 48px;
	width: 48px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.carousel-prev {
	left: 1.5rem;
}

.carousel-next {
	right: 1.5rem;
	transform: translateY(-50%) rotate(180deg);
}

.carousel-animate-height .carousel-item {
	height: auto!important;
}


/* Sliders */

.slider-overflow .flickity-viewport {
	overflow: visible;
}

.flickity-button, .flickity-page-dots {
	display: none;
}

.slider-prev, .slider-next {
	cursor: pointer;
	filter: drop-shadow(0 0 0.5rem rgba(255,255,255,0.35));
	height: 48px;
	width: 48px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.section-scrolling-text .slider-prev, .section-scrolling-text .slider-next,
.section-scrolling-logos .slider-prev, .section-scrolling-logos .slider-next {
	display: none!important;
}

.slider-prev {
	left: var(--column-spacing);
}

.slider-next {
	right: var(--column-spacing); 
	transform: translateY(-50%) rotate(180deg);
}

.slider-images .carousel-cell {
	margin: 0 calc(var(--column-spacing) / 2);
	height: 512px;
	width: auto;
}

.slider-content .carousel-cell, .slider-posts .carousel-cell {
	min-height: 100%;
}

.slider-content, .slider-posts {
	margin-left: calc((var(--column-spacing) / 2) * -1);
	margin-right: calc((var(--column-spacing) / 2) * -1);
}

.slider-content .carousel-cell > div, .slider-posts .carousel-cell > div {
	padding-left:  calc(var(--column-spacing) / 2);
	padding-right: calc(var(--column-spacing) / 2);
}

.slider-posts .carousel-cell .snippet {
	flex-grow: 1;
}

.carousel-cell.slide-width-25 {
	width: 25%;
}

.carousel-cell.slide-width-33 {
	width: 33.33333%;
}

.carousel-cell.slide-width-50 {
	width: 50%;
}

.carousel-cell.slide-width-75 {
	width: 75%;
}

.carousel-cell.slide-width-100 {
	width: 100%;
}

@media (min-width: 576px) { 
	.carousel-cell.slide-width-sm-25 {width: 25%;}
	.carousel-cell.slide-width-sm-33 {width: 33.33333%;}
	.carousel-cell.slide-width-sm-50 {width: 50%;}
	.carousel-cell.slide-width-sm-75 {width: 75%;}
	.carousel-cell.slide-width-sm-100 {width: 100%;}
}

@media (min-width: 992px) { 
	.carousel-cell.slide-width-lg-25 {width: 25%;}
	.carousel-cell.slide-width-lg-33 {width: 33.33333%;}
	.carousel-cell.slide-width-lg-50 {width: 50%;}
	.carousel-cell.slide-width-lg-75 {width: 75%;}
	.carousel-cell.slide-width-lg-100 {width: 100%;}
}

.carousel-cell .img-fluid,
.showcase .carousel-cell .column-content,
.showcase .carousel-cell .column-btn {
	transition: 0.2s ease-out;
}

.showcase .carousel-cell:not(.is-selected) .img-fluid {
	transform: scale(0.9);
}

.showcase .carousel-cell .column-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 75%;
}

.showcase .carousel-cell:not(.is-selected) .column-content,
.showcase .carousel-cell:not(.is-selected) .column-btn {
	opacity: 0;
	pointer-events: none;
}

.slider-scrolling-text .carousel-cell > div {
	line-height: 1.25;
	margin-right: 0.5em;
	white-space: nowrap;
}

.slider-scrolling-text .carousel-cell > div.divider-dot:after {
	content: '\2022';
	margin-left: 0.25em;
}

.slider-scrolling-text .carousel-cell > div.divider-line {
	border-right: 2px solid;
	margin-right: 1em;
	padding-right: 1em;
}

.slider-scrolling-logos .carousel-cell > div {
	font-size: 3rem;
	margin-right: 6rem;
}

.slider-scrolling-logos .carousel-cell > div.divider-dot {
	margin-right: 3rem;
}

.slider-scrolling-logos .carousel-cell > div.divider-dot:after {
	content: '\2022';
	margin-left: 3rem;
}

.slider-scrolling-logos .carousel-cell > div.divider-line {
	border-right: 2px solid;
	margin-right: 4rem;
	padding-right: 4rem;
}

.slider-scrolling-logos .carousel-cell img {
	max-width: 256px;
	max-height: 100%;
	height: auto;
	width: auto;
}

.logo-slider-gradient {
  pointer-events: none;
  position: absolute;
  top: 0; bottom: 0;
  width: 25%;
}

.logo-slider-gradient.left {
  left: 0;
}

.logo-slider-gradient.right {
  right: 0;
}

.section.bg-body .logo-slider-gradient.left {background: linear-gradient(90deg, var(--color-body-bg) 0%, var(--color-body-bg) 50%, rgba(0,0,0,0) 100%);}
.section.bg-body .logo-slider-gradient.right {background: linear-gradient(270deg, var(--color-body-bg) 0%, var(--color-body-bg) 50%, rgba(0,0,0,0) 100%);}
.section.bg-primary .logo-slider-gradient.left {background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-primary .logo-slider-gradient.right {background: linear-gradient(270deg, var(--color-primary) 0%, var(--color-primary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-secondary .logo-slider-gradient.left {background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-secondary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-secondary .logo-slider-gradient.right {background: linear-gradient(270deg, var(--color-secondary) 0%, var(--color-secondary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-tertiary .logo-slider-gradient.left {background: linear-gradient(90deg, var(--color-tertiary) 0%, var(--color-tertiary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-tertiary .logo-slider-gradient.right {background: linear-gradient(270deg, var(--color-tertiary) 0%, var(--color-tertiary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-quaternary .logo-slider-gradient.left {background: linear-gradient(90deg, var(--color-quaternary) 0%, var(--color-quaternary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-quaternary .logo-slider-gradient.right {background: linear-gradient(270deg, var(--color-quaternary) 0%, var(--color-quaternary) 50%, rgba(0,0,0,0) 100%);}
.section.bg-black .logo-slider-gradient.left {background: linear-gradient(90deg, #000 0%, #000 50%, rgba(0,0,0,0) 100%);}
.section.bg-black .logo-slider-gradient.right {background: linear-gradient(270deg, #000 0%, #000 50%, rgba(0,0,0,0) 100%);}
.section.bg-white .logo-slider-gradient.left {background: linear-gradient(90deg, #fff 0%, #fff 50%, rgba(0,0,0,0) 100%);}
.section.bg-white .logo-slider-gradient.right {background: linear-gradient(270deg, #fff 0%, #fff 50%, rgba(0,0,0,0) 100%);}


/* Accordions */

.accordion-toggle {
	padding: 2.25rem 0 2rem;
}

.accordion > div:first-child .accordion-toggle {
	padding-top: 0;
}

.accordion .accordion-toggle-img {
	margin-right: 1.5rem;
	padding-right: 1rem!important;
	min-width: calc(60px + 1rem);
	width: calc(60px + 1rem);
}

.accordion-toggle .accordion-toggle-img > div {
	top: 0; right: 0; bottom: 0;
	width: 1px;
	transition: 0.2s ease-out;
}

.accordion-toggle:not(.collapsed) .accordion-toggle-img > div:nth-child(2) {
	opacity: 0;
}

.accordion-toggle.collapsed .accordion-toggle-img > div:last-child {
	opacity: 0;
}

.accordion .accordion-toggle-icon svg {
	transition: 0.2s ease-out;
}

.accordion .accordion-toggle:not(.collapsed) .accordion-toggle-icon svg {
	transform: rotate(45deg);
}

.accordion-toggle-icon .subtitle {
	transform: translateY(1px);
}

.accordion-toggle-icon .subtitle span {
	transition: 0.2s ease-out;
}

.accordion-toggle:not(.collapsed) .accordion-toggle-icon .subtitle span:first-child {
	opacity: 0;
}

.accordion-toggle.collapsed .accordion-toggle-icon .subtitle span:last-child {
	opacity: 0;
}

.accordion .has-image.accordion-collapse {
	margin-left: calc(60px + 2.5rem);
}

.accordion .accordion-collapse > div {
	padding-bottom: 2rem;
}

.accordion.contain-text .accordion-collapse > div {
	max-width: 440px;
}

.accordion-borders {
	position: absolute;
	bottom: 0; right: 0; left: 0;
}

.accordion-borders hr {
	bottom: 0; right: 0; left: 0;
	position: absolute;
	transition: 0.2s ease-out;
}

.accordion-toggle:not(.collapsed) .accordion-borders hr:first-child {
	opacity: 0;
}

.accordion-toggle.collapsed .accordion-borders hr:last-child {
	opacity: 0;
}


/* Modals */ 

.modal-content {
	border: none;
	border-radius: 0;
}

.modal-close {
	cursor: pointer;
	position: absolute;
	top: 1rem; right: 1rem;
	height: 1.5rem; width: 1.5rem;
	z-index: 1;
}


/* Instagram Feed */

.instagram-handle {
	font-size: var(--instagram-feed-font-size);
	font-weight: var(--instagram-feed-font-weight);
	letter-spacing: var(--instagram-feed-letter-spacing);
	text-transform: var(--instagram-feed-text-transform);
}

.instagram-handle svg path {
	fill: var(--color-body);
}

.text-white .instagram-handle svg {
	transform: translateY(-1px);
}

.text-white .instagram-handle svg path {
	fill: #fff;
}

#sb_instagram #sbi_images {
    grid-template-columns: repeat(6,1fr)!important;
}

.sbi-header, .sbi_follow_btn {
	display: none!important;
}

#sbi_images {
	gap: calc(var(--column-spacing) * 2)!important;
}


/* Media Queries */

/* 1440px */
@media (max-width: 1439px) { 
	.slider-images .carousel-cell {height: 416px;}
	.showcase .carousel-cell .column-content {max-width: 100%;}
	#sbi_images {gap: var(--column-spacing)!important;}
}

/* 1200px */
@media (max-width: 1199px) { 
	#sb_instagram #sbi_images {grid-template-columns: repeat(3,1fr)!important;}
}

/* 768px */
@media (max-width: 767px) { 
	.carousel-indicators {margin-bottom: 1rem; margin-left: 1rem; margin-right: 1rem;}
	.carousel-indicators [data-bs-target] {margin-right: 4px; margin-left: 4px;}
	.carousel-prev, .carousel-next, .slider-prev, .slider-next {height: 36px; width: 36px;}
	.carousel-prev {left: 1rem;}
	.carousel-next {right: 1rem;}
	.slider-prev {left: calc(var(--column-spacing) / 2);}
	.slider-next {right: calc(var(--column-spacing) / 2);}
	.slider-images .carousel-cell {margin: 0 calc(var(--column-spacing) / 4); height: 256px;}
	.slider-content, .slider-posts {margin-left: calc((var(--column-spacing) / 4) * -1); margin-right: calc((var(--column-spacing) / 4) * -1);}
	.slider-content .carousel-cell > div, .slider-posts .carousel-cell > div {padding-left:  calc(var(--column-spacing) / 4); padding-right: calc(var(--column-spacing) / 4);}
	.showcase .carousel-cell .column-content {max-width: 100%;}
	.slider-scrolling-logos .carousel-cell > div {font-size: 2rem; margin-right: 3rem;}
	.slider-scrolling-logos .carousel-cell > div.divider-dot {margin-right: 2rem;}
	.slider-scrolling-logos .carousel-cell > div.divider-dot:after {margin-left: 2rem;}
	.slider-scrolling-logos .carousel-cell > div.divider-line {margin-right: 2.5rem;padding-right: 2.5rem;}
	.slider-scrolling-logos .carousel-cell img {max-width: 192px;}
	.accordion .accordion-toggle-img {min-width: calc(48px + 1rem);	width: calc(48px + 1rem);}
	.accordion .has-image.accordion-collapse {margin-left: calc(48px + 2.5rem);}
	.modal-close {height: 1rem; width: 1rem; top: 0.75rem; right: 0.75rem;}
	.row-instagram-feed .col-6 {margin-bottom: calc(var(--column-spacing) / 2);}
}

/* 576px */
@media (max-width: 575px) { 
	.modal-dialog {margin: calc(var(--column-spacing) / 2);}
	.row-instagram-feed .col-6:nth-child(5),.row-instagram-feed .col-6:nth-child(6) {display: none;}
	.slider-images .carousel-cell {height: 192px;}
}

/* 480px */
@media (max-width: 479px) { 
	#sb_instagram #sbi_images {grid-template-columns: repeat(2,1fr)!important;}
}
