/*********************
    Design Tokens (Universal)
*********************/

:root {
    
    /***** Breakpoints *****/

    --breakpoint--sm: 480px;
    --breakpoint--md: 991px;
    --breakpoint--lg: 1140px;
    --breakpoint--xl: 1280px;
    
    /***** Width *****/

    --w--1: 8.333%;
    --w--2: 16.666%;
    --w--3: 25%;
    --w--4: 33.333%;
    --w--5: 41.666%;
    --w--6: 50%;
    --w--7: 58.333%;
    --w--8: 66.666%;
    --w--9: 75%;
    --w--10: 83.333%;
    --w--11: 91.666%;
    
    /***** Type Scale (Absolute) *****/
    
    --type-scale--xs-5: 0.279rem;
    --type-scale--xs-4: 0.335rem;
    --type-scale--xs-3: 0.402rem;
    --type-scale--xs-2: 0.482rem;
    --type-scale--xs-1: 0.579rem;
    --type-scale--xs: 0.694rem;
    --type-scale--sm: 0.833rem;
    --type-scale--md: 1rem;
    --type-scale--lg: 1.2rem;
    --type-scale--xl: 1.44rem;
    --type-scale--xl-1: 1.728rem;
    --type-scale--xl-2: 2.074rem;
    --type-scale--xl-3: 2.488rem;
    --type-scale--xl-4: 2.986rem;
    --type-scale--xl-5: 3.583rem;
    --type-scale--xl-6: 4.3rem;
    
    /***** Type Scale (Relative) *****/
    
    --type-scale-rel--xs-5: 0.279em;
    --type-scale-rel--xs-4: 0.335em;
    --type-scale-rel--xs-3: 0.402em;
    --type-scale-rel--xs-2: 0.482em;
    --type-scale-rel--xs-1: 0.579em;
    --type-scale-rel--xs: 0.694em;
    --type-scale-rel--sm: 0.833em;
    --type-scale-rel--md: 1em;
    --type-scale-rel--lg: 1.2em;
    --type-scale-rel--xl: 1.44em;
    --type-scale-rel--xl-1: 1.728em;
    --type-scale-rel--xl-2: 2.074em;
    --type-scale-rel--xl-3: 2.488em;
    --type-scale-rel--xl-4: 2.986em;
    --type-scale-rel--xl-5: 3.583em;
    --type-scale-rel--xl-6: 4.3em;
    
    --headings_margin: 0.694em;
    
    /***** Letter Spacing *****/
    
    --letter-spacing--dense: -0.06em;
    --letter-spacing--loose: 0.06em;
    
    /***** Shadows *****/
    
    --shadow--sm: 0 1px 1px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.02);
    --shadow--md: 0 1px 4px rgba(0, 0, 0, 0.04), 0 4px 10px rgba(0, 0, 0, 0.08);
    --shadow--lg: 0 2px 20px rgba(0, 0, 0, 0.04), 0 8px 32px rgba(0, 0, 0, 0.08);
    --shadow--xl: 0 8px 20px rgba(0, 0, 0, 0.06), 0 24px 60px rgba(0, 0, 0, 0.12);

}

/****************************
	Layout
****************************/

/***** Container *****/

.yls_container {
    --container__padding: 16px;
    position: relative;
    z-index: 10;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container__padding);
	padding-right: var(--container__padding);
}

.yls_container::after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width: 480px) {
	.yls_container {
		--container__padding: 24px;
	}
}

@media only screen and (min-width: 544px) {
	.yls_container {
		max-width: 576px;
	}
	.yls_container.wide {
	    --container__padding: 48px;
		max-width: 100%;
	}
}

@media only screen and (min-width: 768px) {
	.yls_container {
		max-width: 720px;
	}
	.yls_container.narrow {
		max-width: 720px;
	}
	.yls_container.wide {
	    --container__padding: 48px;
		max-width: 100%;
	}
}

@media only screen and (min-width: 992px) {
	.yls_container {
		max-width: calc( var(--breakpoint--md) - ( var(--container__padding) * 2 ) );
	}
	.yls_container.wide {
	    --container__padding: 48px;
		max-width: 100%;
	}
}

@media only screen and (min-width: 1200px) {
	.yls_container {
		max-width: var(--breakpoint--lg);
	}
}

@media only screen and (min-width: 1280px) {
	.yls_container.wide {
	    --container__padding: 48px;
		max-width: 1600px;
	}
}

.yls_container.full {
    max-width: 100%;
    padding: 0;
}

/***** Default Component Spacing *****/

.yls_comp {
    margin-bottom: var(--comp-spacing--outer);
}

.yls_comp-inner {
    padding: var(--comp-spacing--inner) 0;
}

/***** Width *****/

.w--1 {
    width: 8.333%;
}

.w--2 {
    width: 16.666%;
}

.w--20 {
    width: 20%;
}

.w--3 {
    width: 25%;
}

.w--4 {
    width: 33.333%;
}

.w--5 {
    width: 41.666%;
}

.w--6 {
    width: 50%;
}

.w--7 {
    width: 58.333%;
}

.w--8 {
    width: 66.666%;
}

.w--9 {
    width: 75%;
}

.w--10 {
    width: 83.333%;
}

.w--11 {
    width: 91.666%;
}

.w--12 {
    width: 100%;
}

/***** Margin *****/

.margin--0 {
	margin: 0 !important;
}

/* Horizontal */

.margin-x--0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.margin-l--0 {
  margin-left: 0 !important;
}

.margin-r--0 {
  margin-left: 0 !important;
}

.margin-x--auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.margin-l--auto {
  margin-left: auto !important;
}

.margin-r--auto {
  margin-right: auto !important;
}

/* Vertical */

.margin-y--0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.margin-t--0 {
  margin-top: 0 !important;
}

.margin-b--0 {
  margin-bottom: 0 !important;
}

/***** Padding *****/

.padding--0 {
	margin: 0 !important;
}

/* Horizontal */

.padding-x--0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.padding-l--0 {
  padding-left: 0 !important;
}

.padding-r--0 {
  padding-left: 0 !important;
}

/* Vertical */

.padding-y--0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.padding-t--0 {
  padding-top: 0 !important;
}

.padding-b--0 {
  padding-bottom: 0 !important;
}

/***** Inline Alignment of Content *****/

/* Desktop */

.left-all h1,
.left-all h2,
.left-all h3,
.left-all h4,
.left-all h5,
.left-all h6,
.left-all .yls_text {
    text-align: left;
}

.left-all .yls_btn-list {
    justify-content: flex-start;
}

.center-all h1,
.center-all h2,
.center-all h3,
.center-all h4,
.center-all h5,
.center-all h6,
.center-all .yls_text {
    text-align: center;
}

.center-all .yls_btn-list {
    justify-content: center;
}

.right-all h1,
.right-all h2,
.right-all h3,
.right-all h4,
.right-all h5,
.right-all h6,
.right-all .yls_text {
    text-align: right;
}

.right-all .yls_btn-list {
    justify-content: flex-end;
}

/* Tablet */

@media only screen and (max-width: 991px) {

    .md_left-all h1,
    .md_left-all h2,
    .md_left-all h3,
    .md_left-all h4,
    .md_left-all h5,
    .md_left-all h6,
    .md_left-all .yls_text {
        text-align: left;
    }
    
    .md_left-all .yls_btn-list {
        justify-content: flex-start;
    }

}

@media only screen and (max-width: 991px) {

    .md_center-all h1,
    .md_center-all h2,
    .md_center-all h3,
    .md_center-all h4,
    .md_center-all h5,
    .md_center-all h6,
    .md_center-all .yls_text {
        text-align: center;
    }
    
    .md_center-all .yls_btn-list {
        justify-content: center;
    }

}

@media only screen and (max-width: 991px) {

    .md_right-all h1,
    .md_right-all h2,
    .md_right-all h3,
    .md_right-all h4,
    .md_right-all h5,
    .md_right-all h6,
    .md_right-all .yls_text {
        text-align: right;
    }
    
    .md_right-all .yls_btn-list {
        justify-content: flex-end;
    }

}

/* Mobile */

@media only screen and (max-width: 480px) {

    .sm_left-all h1,
    .sm_left-all h2,
    .sm_left-all h3,
    .sm_left-all h4,
    .sm_left-all h5,
    .sm_left-all h6,
    .sm_left-all .yls_text {
        text-align: left;
    }
    
    .sm_left-all .yls_btn-list {
        justify-content: flex-start;
    }

}

@media only screen and (max-width: 480px) {

    .sm_center-all h1,
    .sm_center-all h2,
    .sm_center-all h3,
    .sm_center-all h4,
    .sm_center-all h5,
    .sm_center-all h6,
    .sm_center-all .yls_text {
        text-align: center;
    }
    
    .sm_center-all .yls_btn-list {
        justify-content: center;
    }

}

@media only screen and (max-width: 480px) {

    .sm_right-all h1,
    .sm_right-all h2,
    .sm_right-all h3,
    .sm_right-all h4,
    .sm_right-all h5,
    .sm_right-all h6,
    .sm_right-all .yls_text {
        text-align: right;
    }
    
    .sm_right-all .yls_btn-list {
        justify-content: flex-end;
    }

}

/****************************
    Visibility
****************************/

@media only screen and (min-width: 481px) and (max-width: 991px) {

    .md_hidden {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

}

@media only screen and (max-width: 480px) {

    .sm_hidden {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

}

/****************************
	Position
****************************/

.static {
	position: static !important;
}

.fixed {
	position: fixed !important;
}

.absolute {
	position: absolute !important;
}

.relative {
	position: relative !important;
}

.sticky {
	position: sticky !important;
	top: var(--sticky_offset);
	left: 0;
}

@media only screen and (max-width: 991px) {
    
	.md_static {
		position: static;
	}
	
	.md_fixed {
		position: fixed;
	}
	
	.md_absolute {
	  position: absolute;
	}
	
	.md_relative {
		position: relative;
	}
	
	.md_sticky {
		position: sticky;
		top: calc( var(--sticky_offset) + var(--height_top-bar) );
		left: 0;
	}
	
}

@media only screen and (max-width: 480px) {
    
	.sm_static {
    	position: static;
	}
	
	.sm_fixed {
		position: fixed;
	}
	
	.sm_absolute {
	  position: absolute;
	}
	
	.sm_relative {
		position: relative;
	}
	
	.sm_sticky {
		position: sticky;
		top: calc( var(--sticky_offset) + var(--height_top-bar) );
		left: 0;
	}
	
}

/****************************
	Aspect Ratio
****************************/

.aspect--square {
	padding-bottom: 100%;
}

.aspect--minor-third-h {
	padding-bottom: 83.3%;
}

.aspect--minor-third-v {
	padding-bottom: 120%;
}

.aspect--tv {
	padding-bottom: 75%;
}

.aspect--video {
	padding-bottom: 56.25%;
}

.aspect--golden-h {
	padding-bottom: 61.8%;
}

.aspect--golden-v {
	padding-bottom: 161.8%;
}

.aspect--profile {
	padding-bottom: 133.3%;
}

@media only screen and (max-width: 991px) {
    
	.md_aspect--square {
		padding-bottom: 100%;
	}
	
	.md_aspect--minor-third-h {
		padding-bottom: 83.3%;
	}
	
	.md_aspect--minor-third-v {
		padding-bottom: 120%;
	}
	
	.md_aspect--tv {
		padding-bottom: 75%;
	}
	
	.md_aspect--video {
		padding-bottom: 56.25%;
	}
	
	.md_aspect--golden-h {
		padding-bottom: 61.8%;
	}
	
	.md_aspect--golden-v {
		padding-bottom: 161.8%;
	}
	
	.md_aspect--profile {
		padding-bottom: 133.3%;
	}
	
}

@media only screen and (max-width: 480px) {
    
	.sm_aspect--square {
		padding-bottom: 100%;
	}
	
	.sm_aspect--minor-third-h {
		padding-bottom: 83.3%;
	}
	
	.sm_aspect--minor-third-v {
		padding-bottom: 120%;
	}
	
	.sm_aspect--tv {
		padding-bottom: 75%;
	}
	
	.sm_aspect--video {
		padding-bottom: 56.25%;
	}
	
	.sm_aspect--golden-h {
		padding-bottom: 61.8%;
	}
	
	.sm_aspect--golden-v {
		padding-bottom: 161.8%;
	}
	
	.sm_aspect--profile {
		padding-bottom: 133.3%;
	}
	
}

/****************************
	Flexbox
****************************/

.flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

/***** Flex Direction *****/

.flex--row {
	flex-direction: row !important;
}

.flex--row-reverse {
	flex-direction: row-reverse !important;
}

.flex--col {
	flex-direction: column !important;
}

.flex--col-reverse {
	flex-direction: column-reverse !important;
}

@media only screen and (max-width: 991px) {

	.md_flex--row {
		flex-direction: row !important;
	}
	
	.md_flex--row-reverse {
		flex-direction: row-reverse !important;
	}
	
	.md_flex--col {
		flex-direction: column !important;
	}
	
	.md_flex--col-reverse {
		flex-direction: column-reverse !important;
	}

}

@media only screen and (max-width: 480px) {

	.sm_flex--row {
		flex-direction: row !important;
	}
	
	.sm_flex--row-reverse {
		flex-direction: row-reverse !important;
	}
	
	.sm_flex--col {
		flex-direction: column !important;
	}
	
	.sm_flex--col-reverse {
		flex-direction: column-reverse !important;
	}

}

/***** Flex Wrap *****/

.flex--wrap {
	flex-wrap: wrap;
}

.flex--nowrap {
	flex-wrap: nowrap;
}

@media only screen and (max-width: 991px) {

	.md_flex--wrap {
		flex-wrap: wrap;
	}
	
	.md_flex--nowrap {
		flex-wrap: nowrap;
	}

}

@media only screen and (max-width: 480px) {

	.sm_flex--wrap {
		flex-wrap: wrap;
	}
	
	.sm_flex--nowrap {
		flex-wrap: nowrap;
	}

}

/***** Flex Grow *****/

.flex--grow {
	flex-grow: 1;
}

.flex--grow-0 {
	flex-grow: 0;
}

/***** Justify Content *****/

.justify--start {
	justify-content: flex-start;
}

.justify--end {
	justify-content: flex-end;
}

.justify--center {
	justify-content: center;
}

.justify--between {
	justify-content: space-between;
}

.justify--around {
	justify-content: space-around;
}

.justify--evenly {
	justify-content: space-evenly;
}

@media only screen and (max-width: 991px) {

	.md_justify--start {
	  justify-content: flex-start;
	}
	
	.md_justify--end {
	  justify-content: flex-end;
	}
	
	.md_justify--center {
	  justify-content: center;
	}
	
	.md_justify--between {
	  justify-content: space-between;
	}
	
	.md_justify--around {
	  justify-content: space-around;
	}
	
	.md_justify--evenly {
	  justify-content: space-evenly;
	}

}

@media only screen and (max-width: 480px) {

	.sm_justify--start {
	  justify-content: flex-start;
	}
	
	.sm_justify--end {
	  justify-content: flex-end;
	}
	
	.sm_justify--center {
	  justify-content: center;
	}
	
	.sm_justify--between {
	  justify-content: space-between;
	}
	
	.sm_justify--around {
	  justify-content: space-around;
	}
	
	.sm_justify--evenly {
	  justify-content: space-evenly;
	}

}

/***** Align Items *****/

.align-items--start {
	align-items: flex-start;
}

.align-items--end {
	align-items: flex-end;
}

.align-items--center {
	align-items: center;
}

.align-items--stretch {
	align-items: stretch;
}

@media only screen and (max-width: 991px) {

	.md_align-items--start {
		align-items: flex-start;
	}
	
	.md_align-items--end {
		align-items: flex-end;
	}
	
	.md_align-items--center {
		align-items: center;
	}
	
	.md_align-items--stretch {
		align-items: stretch;
	}

}

@media only screen and (max-width: 480px) {

	.sm_align-items--start {
		align-items: flex-start;
	}
	
	.sm_align-items--end {
		align-items: flex-end;
	}
	
	.sm_align-items--center {
		align-items: center;
	}
	
	.sm_align-items--stretch {
		align-items: stretch;
	}

}

/***** Flex Auto *****/
/*
[class*="flex_auto"]:not([class*="item"]) {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
*/

/* Rows */

.flex_auto--rows {
	--gap: 30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	gap: var(--gap);
}

.flex_auto--rows > .flex_auto__item {
    padding: 0;
}

.flex_auto--rows > .flex_auto__item.lg {
    padding: calc( var(--gap) / 2 ) 0;
}

.flex_auto--rows > .flex_auto__item.gap-b--0:not(:last-child) {
    margin-bottom: calc( var(--gap) * -1 );
}

/*
.flex_auto--rows {
	--gap: 30px;
	flex-direction: column;
	margin-top: calc( var(--gap) / -2 );
	margin-bottom: calc( var(--gap) / -2 );
}

.flex_auto--rows > .flex_auto__item {
	padding-top: calc( var(--gap) / 2 );
	padding-bottom: calc( var(--gap) / 2 );
}

.flex_auto--rows > .flex_auto__item.hide {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.flex_auto--rows > .flex_auto__item.padding-b--0 + div {
	padding-top: 0 !important;
}
*/

/* Columns */

.flex_auto--cols {
	--gap: 30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row;
	gap: var(--gap);
}

.flex_auto--cols > .flex_auto__item {
    padding: 0;
}

/*
.flex_auto--cols {
	--gap: 30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row;
	margin-left: calc( var(--gap) / -2 );
	margin-right: calc( var(--gap) / -2 );
}

.flex_auto--cols > .flex_auto__item {
	padding-left: calc( var(--gap) / 2 );
	padding-right: calc( var(--gap) / 2 );
}

.flex_auto--cols > .flex_auto__item.hide {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
*/

/* Grid */

.flex_auto--grid {
	--gap: 30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: calc( var(--gap) / -2 );
}

.flex_auto--grid > .flex_auto__item {
    padding: calc( var(--gap) / 2 );
}

.flex_auto--grid > .flex_auto__item.padding-b--0 {
    margin-bottom: calc( var(--gap) * -1 );
}

.flex_auto--grid > .flex_auto__item.hide {
    padding: 0 !important;
}

/* Responsive */

@media only screen and (max-width: 991px) {

    .flex_auto--cols.md_flex_auto--rows {
        flex-direction: column;
        gap: 0;
        margin-top: calc( var(--gap) / -2 );
	    margin-bottom: calc( var(--gap) / -2 );
	    margin-left: 0;
	    margin-right: 0;
    }
    
    .flex_auto--cols.md_flex_auto--rows > .flex_auto__item {
        width: 100% !important;
        padding-top: calc( var(--gap) / 2 );
	    padding-bottom: calc( var(--gap) / 2 );
	    padding-left: 0;
	    padding-right: 0;
    }

}

@media only screen and (max-width: 480px) {

    .flex_auto--cols.sm_flex_auto--rows {
        flex-direction: column;
        gap: 0;
        margin-top: calc( var(--gap) / -2 );
	    margin-bottom: calc( var(--gap) / -2 );
	    margin-left: 0;
	    margin-right: 0;
    }
    
    .flex_auto--cols.sm_flex_auto--rows > .flex_auto__item {
        width: 100% !important;
        padding-top: calc( var(--gap) / 2 );
	    padding-bottom: calc( var(--gap) / 2 );
	    padding-left: 0;
	    padding-right: 0;
    }

}

/****************************
    Columns
****************************/

.cols--1 > * {
    width: 100%;
}

.cols--2 > * {
    width: 50%;
}

.cols--3 > * {
    width: 33.33%;
}

.cols--4 > * {
    width: 25%;
}

.cols--5 > * {
    width: 20%;
}

.cols--6 > * {
    width: 16.66%;
}

.cols--7 > * {
    width: 14.28%;
}

.cols--8 > * {
    width: 12.5%;
}

.cols--9 > * {
    width: 11.11%;
}

.cols--10 > * {
    width: 10%;
}

.cols--11 > * {
    width: 9.09%;
}

.cols--12 > * {
    width: 8.33%;
}

@media only screen and (max-width: 991px) {

    .md_cols--1 > * {
        width: 100%;
    }
    
    .md_cols--2 > * {
        width: 50%;
    }
    
    .md_cols--3 > * {
        width: 33.33%;
    }
    
    .md_cols--4 > * {
        width: 25%;
    }
    
    .md_cols--5 > * {
        width: 20%;
    }
    
    .md_cols--6 > * {
        width: 16.66%;
    }
    
    .md_cols--7 > * {
        width: 14.28%;
    }
    
    .md_cols--8 > * {
        width: 12.5%;
    }
    
    .md_cols--9 > * {
        width: 11.11%;
    }
    
    .md_cols--10 > * {
        width: 10%;
    }
    
    .md_cols--11 > * {
        width: 9.09%;
    }
    
    .md_cols--12 > * {
        width: 8.33%;
    }

}

@media only screen and (max-width: 480px) {

    .sm_cols--1 > * {
        width: 100%;
    }
    
    .sm_cols--2 > * {
        width: 50%;
    }
    
    .sm_cols--3 > * {
        width: 33.33%;
    }
    
    .sm_cols--4 > * {
        width: 25%;
    }
    
    .sm_cols--5 > * {
        width: 20%;
    }
    
    .sm_cols--6 > * {
        width: 16.66%;
    }
    
    .sm_cols--7 > * {
        width: 14.28%;
    }
    
    .sm_cols--8 > * {
        width: 12.5%;
    }
    
    .sm_cols--9 > * {
        width: 11.11%;
    }
    
    .sm_cols--10 > * {
        width: 10%;
    }
    
    .sm_cols--11 > * {
        width: 9.09%;
    }
    
    .sm_cols--12 > * {
        width: 8.33%;
    }

}

/****************************
    CSS Grid
****************************/

.cgrid {
    --gap-x: 30px;
    --gap-y: 30px;
    
    margin-top: calc( var(--gap-y) / -2 );
    margin-bottom: calc( var(--gap-y) / -2 );
    
    -webkit-columns: var(--cols);
    -moz-columns: var(--cols);
    columns: var(--cols);
    column-gap: var(--gap-x);
}

.cgrid--1 {
    --cols: 1;
}

.cgrid--2 {
    --cols: 2;
}

.cgrid--3 {
    --cols: 3;
}

.cgrid--4 {
    --cols: 4;
}

.cgrid__item {
    padding-top: calc( var(--gap-y) / 2 );
    padding-bottom: calc( var(--gap-y) / 2 );
    
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

/****************************
    Sticky Settings
****************************/

.sticky {
    --sticky_offset: var(--default_offset);
}

.sticky.tb-offset {
    --sticky_offset: calc( var(--default_offset) + var(--height_tb) );
}

.sticky.header-offset {
    --sticky_offset: calc( var(--default_offset) + var(--height_header) );
}

.sticky.tb-offset.header-offset {
    --sticky_offset: calc( var(--default_offset) + var(--height_tb) + var(--height_header) );
}

/****************************
	Visuals
****************************/

.img--cover {
    position: relative;
}

.img--cover img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/****************************
	Typography
****************************/

/***** Global Typography Settings *****/

body,
html {
	font-family: var(--font--body);
	font-size: var(--base-font-size);
	/*line-height: 1;*/
}

/***** Text Editor Settings *****/

.yls_text > h2:not(:first-child),
.yls_text > div:not(:first-child) > h2,
.yls_text > h3:not(:first-child),
.yls_text > div:not(:first-child) > h3,
.yls_text > h4:not(:first-child),
.yls_text > div:not(:first-child) > h4,
.yls_text > h5:not(:first-child),
.yls_text > div:not(:first-child) > h5 {
	margin-top: 1em;
}

.yls_text p:last-child {
	margin-bottom: 0 !important;
}

/***** Line Clamp *****/

[class*="line-clamp"] {
    position: relative;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    padding: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.line-clamp--1 {
	-webkit-line-clamp: 1;
}

.line-clamp--2 {
	-webkit-line-clamp: 2;
}

.line-clamp--3 {
	-webkit-line-clamp: 3;
}

.line-clamp--4 {
	-webkit-line-clamp: 4;
}

/****************************
	Buttons
****************************/

/***** Global Button Settings *****/

/* Reset */

.yls_header-nav a:not([class*="yls_btn"]),
[class*="yls_btn"]:not([class*="label"]):not([class*="list"]) {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
}

/***** Reset "<a>" styling (eg. tiles) *****/

.a--reset {
    display: inline-block;
    width: 100%;
    text-decoration: none !important;
}

/****************************
	Carousels
****************************/

.yls_carousel__container {
    position: relative;
    width: 100%;
}

.yls_carousel {
    width: 100%;
}

/***** Controls - Navigation *****/

/* Global */

.yls_carousel__container .swiper-button {
    margin: 0;
    outline: 0;
}

.yls_carousel__container .swiper-button i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.yls_carousel__container .swiper-button-prev i {
    padding: 0 0.15em 0 0;
}

.yls_carousel__container .swiper-button-next i {
    padding: 0 0 0 0.15em;
}

.yls_carousel__container .swiper-button::after {
    display: none;
}

/* Inner UI */

.yls_carousel__container.inner-ui .swiper-button {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
}

/* Outer UI */

.yls_carousel__container.outer-ui .swiper-button {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

/***** Controls - Pagination *****/

.yls_carousel__container .swiper-pagination-bullet {
    outline: 0;
}

/****************************
    Forms
****************************/

.s-form {
    position: relative;
}

.yls_formb .s-frame--hidden {
    position: absolute;
    bottom: 0;
    left: -9999px;
    height: 0;
    width: 0;
    z-index: -2147483647;
}

.s-form .s-field__wrapper {
    position: relative;
}

.s-form .s-flexdir--col {
    flex-direction: column;
}

.s-form .s-flexdir--row {
    flex-direction: row;
    align-items: center;
}

@media only screen and (max-width: 480px) {

    .s-form .s-field__wrapper .s-flexdir--row {
        flex-direction: column;
        align-items: flex-start;
    }

}

/***** Global Styling *****/

.s-form .s-field__wrapper .s-input,
.s-form .s-field__wrapper select,
.s-form .s-field__wrapper textarea,
.s-form .s-field__upload .s-upload__info {
    position: relative;
    width: 100%;
    height: auto;
    -webkit-appearance: none;
    appearance: none;
}

.s-form .s-field__wrapper .s-input,
.s-form .s-field__wrapper select,
.s-form .s-field__wrapper textarea {
    will-change: box-shadow;
}

/***** Input Fields - Default *****/

.s-form .s-field__wrapper .s-input:focus,
.s-form .s-field__wrapper .s-input.filled,
.s-form .s-field__wrapper select:focus,
.s-form .s-field__wrapper select.filled,
.s-form .s-field__wrapper textarea:focus,
.s-form .s-field__wrapper textarea.filled,
.s-form .s-field__wrapper .s-input[readonly]:focus,
.s-form .s-field__wrapper .s-input[readonly].filled {
    padding-top: calc( var(--font-size) * 1.5 );
    padding-bottom: calc( var(--font-size) * 0.5 );
}

/* Label */

.s-form .s-field__wrapper .s-input + label,
.s-form .s-field__wrapper select + label,
.s-form .s-field__wrapper textarea + label,
.s-form .s-field__wrapper .s-input[readonly] + label {
    position: absolute;
    z-index: 10;
    margin: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    opacity: 0;
    -webkit-transition: all .38s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: all .38s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all .38s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Placeholder */

.s-form .s-field__wrapper .s-input::placeholder,
.s-form .s-field__wrapper select::placeholder,
.s-form .s-field__wrapper textarea::placeholder {
    opacity: 1;
}

/***** Input Fields - Filled *****/

/* Placeholder */

.s-form .s-field__wrapper .s-input.filled::placeholder,
.s-form .s-field__wrapper select.filled::placeholder,
.s-form .s-field__wrapper textarea.filled::placeholder {
    opacity: 0;
}

/* Label */

.s-form .s-field__wrapper .s-input.filled + label,
.s-form .s-field__wrapper select.filled + label,
.s-form .s-field__wrapper textarea.filled + label,
.s-form .s-field__wrapper .s-input[readonly].filled + label {
    top: calc( var(--font-size) * 0.5 );
    /*backdrop-filter: blur(20px);*/
    opacity: 1;
}

/***** Input Fields - Focus *****/

/* Placeholder */

.s-form .s-field__wrapper .s-input:focus::placeholder,
.s-form .s-field__wrapper select:focus::placeholder,
.s-form .s-field__wrapper textarea:focus::placeholder {
    opacity: 0;
}

/* Label */

.s-form .s-field__wrapper .s-input:focus + label,
.s-form .s-field__wrapper select:focus + label,
.s-form .s-field__wrapper textarea:focus + label {
    top: calc( var(--font-size) * 0.5 );
    /*backdrop-filter: blur(20px);*/
    opacity: 1;
}

/***** Input Fields - Select *****/

.s-form .s-field__wrapper.s-field__select {
    position: relative;
}

.s-form .s-field__wrapper.s-field__select select {
    cursor: pointer;
}

.s-form .s-field__wrapper.s-field__select:after {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translate(0, -50%) rotate(135deg);
    z-index: 10;
    display: inline-block;
    border-style: solid;
    border-width: var(--border-width) var(--border-width) 0 0;
    content: '';
}

/***** Input Fields - E-mail *****/

.s-form .s-field__wrapper .s-input[type="email"] ~ i {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translate(0, -50%);
    font-size: var(--type-scale-rel--md);
    opacity: 0.6;
    pointer-events: none;
}

/***** Input Fields - Number *****/

.s-form .s-field__wrapper .s-input[type="number"] ~ i {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translate(0, -50%);
    font-size: var(--type-scale-rel--md);
    opacity: 0;
    pointer-events: none;
}

.s-form .s-field__wrapper .s-input[type="number"]:not(:hover):not(:focus) ~ i {
    opacity: 0.6;
}

/***** Input Fields - Date *****/

.s-form .s-field__wrapper .s-input[data-date] ~ i {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translate(0, -50%);
    font-size: var(--type-scale-rel--md);
    opacity: 0.6;
    pointer-events: none;
}

/***** State Fields - Default *****/

.s-form .s-field__wrapper.s-group__checkbox,
.s-form .s-field__wrapper.s-group__radio {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column-reverse;
}

.s-form .s-field__wrapper .s-checkbox__opts,
.s-form .s-field__wrapper .s-radio__opts {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-grow: 1;
    margin: calc( var(--gap) / -2 );
}

.s-form .s-field__wrapper .s-check__item,
.s-form .s-field__wrapper .s-radio__item {
    padding: calc( var(--gap) / 2 );
}

.s-form .s-field__wrapper .s-checkbox__opts input,
.s-form .s-field__wrapper .s-checkbox__opts svg,
.s-form .s-field__wrapper .s-radio__opts input,
.s-form .s-field__wrapper .s-radio__opts svg,
.s-form .s-field__optin input,
.s-form .s-field__optin svg {
    display: none;
    flex-shrink: 0;
}

.s-form .s-field__wrapper .s-checkbox__opts .s-check__label,
.s-form .s-field__wrapper .s-radio__opts .s-radio__label,
.s-form .s-field__optin .s-optin__label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    cursor: pointer;
    margin: 0 !important;
    line-height: 1;
}

.s-form .s-field__wrapper .s-checkbox__opts .s-check__label .s-check__indicator,
.s-form .s-field__wrapper .s-radio__opts .s-radio__label .s-radio__indicator,
.s-form .s-field__optin .s-optin__label .s-optin__indicator {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 0;
    flex-shrink: 0;
    -webkit-transition: all .28s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: all .28s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all .28s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.s-form .s-field__wrapper .s-checkbox__opts .s-check__label .s-check__indicator:after,
.s-form .s-field__wrapper .s-radio__opts .s-radio__label .s-radio__indicator:after,
.s-form .s-field__optin .s-optin__label .s-optin__indicator:after {
    position: absolute;
    display: inline-block;
    content: '';
    -webkit-transition: all .28s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: all .28s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all .28s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Checkboxes */

.s-form .s-field__wrapper .s-checkbox__opts .s-check__label .s-check__indicator:after,
.s-form .s-field__optin .s-optin__label .s-optin__indicator:after {
    top: 150%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(45deg);
    width: var(--width);
    height: var(--height);
    border-bottom: var(--border-width) solid var(--border-color);
    border-right: var(--border-width) solid var(--border-color);
    opacity: 0;
    will-change: top, opacity;
}

.s-form .s-field__wrapper .s-checkbox__opts input:checked + .s-check__label .s-check__indicator:after,
.s-form .s-field__optin input:checked + .s-optin__label .s-optin__indicator:after {
    top: 50%;
    opacity: 1;
}

.s-form .s-field__optin .s-optin__info p {
    margin-bottom: 0;
}

/* Radio Buttons */

.s-form .s-field__wrapper .s-radio__opts .s-radio__label .s-radio__indicator {
    border-radius: 50%;
    will-change: background, opacity;
}

.s-form .s-field__wrapper .s-radio__opts .s-radio__label .s-radio__indicator:after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--width);
    height: var(--height);
    border-radius: inherit;
}

/***** Upload Fields - Default *****/

.s-form .s-field__upload {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column-reverse;
}

/* Hide native upload field */
.s-form .s-field__upload .s-file__upload {
    position: absolute;
    z-index: -9999;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.s-form .s-field__upload .s-upload__label {
    position: relative;
    min-height: 35px;
    max-height: none;
    margin: 0;
}

.s-form .s-field__upload .s-upload__info {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 35px;
    max-height: none;
}

.s-form .s-field__upload .s-upload__info:before {
    flex-grow: 0;
    flex-shrink: 0;
    margin-left: 1rem;
    content: attr(data-btn);
    cursor: pointer;
}

.s-form .s-field__upload .s-upload__info::after {
    flex-grow: 1;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    content: attr(data-upload);
}

.s-form .s-field__upload .s-field__optin .s-optin__info p {
    margin-bottom: 0px;
}

@media only screen and (max-width: 991px) {

    .s-form .s-field__upload .s-upload__info::after {
        white-space: normal;
    }

}

/****************************
	Miscellaneous
****************************/

html,
body {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
	line-height: 0; /* reset */
}

.hide, .hidden, .s-hidden {
	display: none !important;
}

.no-scroll {
	height: 100%;
	overflow-y: hidden;
}

div[data-anchor="true"]:before {
    content: "";
    display: block;
    height: 100px;
    margin: -100px 0 0;
    opacity: 0;
    pointer-events: none;
}

a,
a *,
a *:before,
a *:after,
[class*="yls_btn"],
button,
button *,
input,
input *,
textarea,
textarea *,
svg,
form.yls_form .s-radio__label,
.transition-default,
.swiper-button,
.swiper-button *,
.swiper-pagination,
.swiper-pagination * {
	-webkit-transition: all 0.38s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	-moz-transition: all 0.38s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	transition: all 0.38s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.blur {
    -webkit-filter: blur(20px);
    filter: blur(20px);
}

/*********************
    Bootstrap Column Fix
*********************/

@media only screen and (min-width: 1200px) {
    body .col-xl-12 {
        width: 100%;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    body .col-xl-12:not(.col-md-12),
    body .col-lg-12 {
        width: 100%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    body .col-xl-12:not(.col-md-12),
    body .col-lg-12:not(.col-md-12),
    body .col-md-12,
    body div[class*="col-lg"]:not([class*="col-md"]) {
        width: 100%;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    body .col-lg-12:not(.col-sm-12),
    body .col-md-12:not(.col-sm-12),
    body .col-sm-12,
    body div[class*="col-md"]:not([class*="col-sm"]) {
        width: 100%;
    }
}

@media only screen and (max-width: 575px) {
    body .col-lg-12:not(.col-xs-12),
    body .col-md-12:not(.col-xs-12),
    body .col-sm-12:not(.col-xs-12),
    body .col-xs-12,
    body div[class*="col-md"]:not([class*="col-xs"]) {
        width: 100%;
    }
}