/* Buttons */
button,
a.button,
input[type='submit'],
.elementor :is(button, a.button, input[type="submit"]) {
    height: fit-content;
    width: fit-content;
	border: none;
	border-style: none;
	border-radius: 20rem;
	padding: 1.14rem 1.55rem 0.9rem 1.55rem;

    font-family: var(--font-body);
    font-size: var(--font-size-button-primary);
    font-weight: var(--weight-strong);
    line-height: var(--line-height-bitty);
    text-decoration: none;
    cursor: pointer;
}

/* Primary button */
:is(button, a.button).primary,
input[type="submit"],
.elementor :is(button, button.primary, a.button.primary, button[type="submit"]) {
    display: flex;
    justify-content: center;
    align-items: center;
    border:none;

    background-color: var(--cta-light);
    color: var(--color-body);
    text-align: center;

    transition: background-color var(--hover-time) ease-out;

    min-width: 130px;

    &:hover {
        background-color: var(--cta-light-hover);
        color: var(--color-body) !important;
    }
}

:is(button, a.button).primary,
input[type="submit"],
.elementor :is(button.primary, a.button.primary, button[type="submit"]) {
	position: relative;
			
	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		border-radius: inherit;
		box-shadow: var(--background-shadow-mini);

		mix-blend-mode: multiply;

		transition: box-shadow .15s ease-in-out;
	}
			
	&:hover {
		&::before {
			box-shadow: var(--background-shadow-mini-hover);
		}
	}
			
	&:active {
		&::before {
			box-shadow: var(--background-shadow-mini);
		}
	}
}


/* Secondary button */
:is(button, a.button).secondary {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: .625rem;

    border: none;
    border-radius: 0;
    background-color: transparent;
    padding: 0;

    color: var(--cta-dark);
    text-align: left;
    line-height: var(--line-height-mini);
    font-size: var(--font-size-button-secondary);

    svg.icon {
        flex-shrink: 0;

        height: 1rem;
        width: .875rem;
        fill: var(--cta-dark);
        transition: translate 150ms ease-out;
    }

    &:hover,
    &:active,
    &:focus {
        background-color: transparent;
    }
    
    &.white {
        color: var(--background-light);
    }

    &.block {
        padding: 1.125rem 1.5rem 1rem 1.5rem;
        border-radius: var(--radius-sm);
        width: 100%;
        max-width: 300px;

        background-color:rgba(36, 34 , 30, .4);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);

        color: var(--background-light);

        &:hover {
            background-color: rgba(36, 34 , 30, .4);
        }
    }
}

:is(button, a.button).secondary:hover,
.secondary-button-trigger:hover {
    .icon {
        translate: 3px 0;
    }
}

/* /Buttons */

/* Sliding Pill Tabs */
.sliding-pill.wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 0;
        
    padding: 4px 4.55px;
    border-radius: 100px;
        
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
        
    background-color: var(--background-light);
        
    user-select: none;
    }

.sliding-pill.wrapper::-webkit-scrollbar {
    display: none;
}

.sliding-pill div.pill {
    z-index: 0;
    position: absolute;
    height: calc(100% - 8px);
    background: var(--cta-light);
    box-shadow: var(--background-shadow-mini);
        
    border-radius: 100px;
        
    transition: left .3s ease-in-out, width .3s ease-in-out;
}

.sliding-pill :is(button, a).tab {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    
	margin-bottom: -0.5%;
    padding: var(--padding-blurb);
    height: calc((var(--padding-blurb-v) * 2) + (var(--line-height-sm) * 1em));

    line-height: 0;
    font-size: var(--font-size-sm);

    background: none !important;
    color: var(--color-strong);
    white-space: nowrap;
    font-weight: var(--weight-strong);
    text-decoration: none;
	
	min-width: 0 !important;
}

/* / Sliding Pill Tabs */       


/**********/
    /* RB Accordion */ 

div[data-widget_type="rb_accordion.default"] {
	width: 100%;
	
	div.elementor-widget-container {
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
}

    div.rb-accordion,
    div.rb-accordion .e-con-inner {
        display: flex;
        flex-direction: column;
        gap: var(--boxes-gap);
        
		width: 100%;
        max-width: var(--max-width-heading);
		
		.accordion-item {
			display: flex;
			flex-direction: column;
			justify-content: start;
			align-items: start;
			gap: 0;

			border-radius: var(--radius-sm);
			overflow: hidden;

			background: var(--background-light);
			font-size: var(--font-size-md);
			
			.accordion-header,
			button.accordion-header {
				display: flex;
				flex-direction: row;
				align-items: center;
				justify-content: space-between;
				gap: var(--padding-accordion);

				width: 100%;
				padding: var(--padding-accordion);

				font-size: var(--font-size-lg);
				text-align: left;

				background-color: transparent;
				color: var(--color-strong);
				font-weight: var(--weight-strong);
				line-height: var(--line-height-sm);
				cursor: pointer;
				
				&.active {
					.accordion-icon {
						transform: rotateX(180deg)
					}
				}
				
				.accordion-icon {
					aspect-ratio: 10 / 16;
					height: calc(var(--font-size-lg) + 2px);
					width: auto;
					flex-shrink: 0;
					transition: transform 150ms linear;
				}
				
				.accordion-title {
					display: flex;
					flex-direction: row;
					justify-content: start;
					align-items: center;
					gap: 0;
				}
			}
			
			.accordion-content {
				visibility: hidden;
				box-sizing: border-box;
				padding: 0 var(--padding-accordion);
				width: 100%;
				max-height: 0;

				color: var(--color-body);
				line-height: var(--line-height-md);

				overflow: hidden;
				transition: max-height 300ms ease, margin 300ms ease, visibility 300ms ease;
				
				p {
					margin: 1em 0;
					
					&:first-child {
						margin-top: 0;
					}
					
					&:last-child {
						margin-bottom: 0;
					}
				}
				
				&.open {
					visibility: visible;
        			margin: 0 0 var(--padding-accordion) 0;
				}
			}
		}
    }
    /* /RB Accordion */
/**********/


/* RB Accordion */
/* div.rb-accordion,
.section-wrapper div.rb-accordion {
    display: flex;
    flex-direction: column;
    gap: var(--boxes-gap);
   
    max-width: 600px;
	padding: 0 1rem;
}

.rb-accordion .accordion-item {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    gap: 0;
   
    border-radius: var(--radius-sm);
    overflow: hidden;
   
    background: var(--background-light);
    font-size: 1rem;
}

.rb-accordion .accordion-item .accordion-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
   
    width: 100%;
    padding: 1.5rem;
   
    color: var(--text);
    font-weight: 500;
    line-height: 1.3;
    cursor: pointer;
}

.rb-accordion .accordion-header .accordion-icon {
		flex-shrink: 0;
    transition: transform 300ms linear;
}

.rb-accordion .accordion-header.active .accordion-icon {
    transform: rotate(-180deg);
}

.rb-accordion .accordion-title {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 0;
}

.rb-accordion .accordion-item .accordion-content {
    box-sizing: border-box;
    padding: 0 1.5rem;
    width: 100%;
    max-height: 0;
	
	font-size: 1rem;
	line-height: 1.5;

    overflow: hidden;
    transition: max-height 300ms ease, margin 300ms ease;
}

.rb-accordion .accordion-content p:first-child {
    margin-top: 0;
}

.rb-accordion .accordion-content p:last-child {
    margin-bottom: 0;
}

.rb-accordion .accordion-item .accordion-content.open {
    margin: 0 0 1.5rem 0;
}

@media only screen and (min-width: 768px) {
	div.rb-accordion,
	.section-wrapper div.rb-accordion {
		max-width: 700px;
		padding: 0;
	}
    .rb-accordion .accordion-item .accordion-header, .rb-accordion .accordion-item .accordion-content {
        font-size: 1.125rem;
    }
}

@media only screen and (min-width: 1025px) {
    div.rb-accordion,
	.section-wrapper div.rb-accordion {
        max-width: 850px;
    }
} */
/* /RB Accordion */
