/*
---------------------------
BUTTONS
---------------------------
*/

.button-wrap {
	display: block;
}
.button {
	font-family: var(--font-body);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	font-size: clamp(0.875rem, 0.7902rem + 0.1399vw, 1.000rem);
	font-weight: 700;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 35px;
	padding-right: 35px;
	border:1px solid;
	border-radius: 100px;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);
	box-shadow: inset 0px 3px 0px rgba(255, 255, 255, 0.1),0px 3px 10px rgba(var(--color-primary-500-rgb), 0.3);
	white-space: nowrap;
	overflow: hidden;
	transition: all 0.2s ease-in-out;
}

.button span {
	position: relative;
	z-index: 1;
}
.button:before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	content:'';
	border-radius: 100px;
	background-color: rgb(0, 0, 0);
	opacity: 0;
	z-index: 0;
	transition: opacity 0.2s ease-in-out;
}

/* Primary */
.button.primary,
.button.primary:hover {
	color: var(--color-primary-50);
	border-color: var(--color-primary-700);
	background-image: linear-gradient(to bottom, rgba(var(--color-primary-600-rgb), 1) 0%, rgba(var(--color-primary-700-rgb), 1) 100%);
}
.button.primary:hover {
	color: var(--color-white);
		transform: translateY(-1px);
	box-shadow: 
				inset 0px 3px 0px rgba(255, 255, 255, 0.2), 
				0px 3px 30px rgba(var(--color-primary-500-rgb), 0.6);
}
.button.primary.on-dark-bg {
	box-shadow: 
				inset 0px 3px 0px rgba(255, 255, 255, 0.2), 
				0px 3px 30px rgba(var(--color-primary-900-rgb), 0.6);
}

.button:hover:before {
	opacity: 0.08;
}

/* Secondary */
.button.secondary,
.button.secondary:hover {
	color: var(--color-secondary-50);
	border-color: var(--color-secondary-700);
	background-image: linear-gradient(to bottom, rgba(var(--color-secondary-600-rgb), 1) 0%, rgba(var(--color-secondary-700-rgb), 1) 100%);
}
.button.secondary:hover {
	color: var(--color-white);
		transform: translateY(-1px);
	box-shadow: 
				inset 0px 3px 0px rgba(255, 255, 255, 0.2), 
				0px 3px 30px rgba(var(--color-secondary-500-rgb), 0.6);
}

/* Secondary */
.button.white,
.button.white:hover {
	color: var(--color-primary-950);
	border-color: var(--color-white);
	background-image: linear-gradient(to bottom, rgba(var(--color-white-rgb), 1) 0%, rgba(var(--color-primary-50-rgb), 1) 100%);
}
.button.secondary:hover {
	color: var(--color-white);
		transform: translateY(-1px);
	box-shadow: 
				inset 0px 3px 0px rgba(255, 255, 255, 0.2), 
				0px 3px 30px rgba(var(--color-secondary-500-rgb), 0.6);
}

/* Icon */
.button i {
	position: relative;
	transform: translateX(0);
	transition: transform 0.2s ease-in-out;
}

/* Icon First */
.button.with-icon-first:hover i{
	transform: translateX(-2px);
}
.button.with-icon-last:hover i{
	transform: translateX(2px);
}


.button.small {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 12px;
	padding-bottom: 12px;
	font-size: 15px;
}
.button.small i {
	font-size: 12px;
}
.button.large {
	font-size: clamp(1.000rem, 0.9152rem + 0.1399vw, 1.125rem);
}

@media (max-width: 640px) {
	.button {
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 25px;
		padding-right: 25px;
	}
	.button.large {
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 25px;
		padding-right: 25px;
	}
}

/* Hollow */
.button.hollow,
.button.hollow:hover {
	background: transparent !important;
	border: 1px solid ;
	color: var(--color-primary-600);
	box-shadow: none;
	text-shadow: none;
}
.button.hollow:before {
	display: none;
}
.button.hollow i {
	color: #002164
}

.button.hollow.primary {
	border-color: rgba(var(--color-primary-600-rgb), 0.2);
  color: var(--color-primary-900);
}
.button.hollow.primary:hover {
	border-color: rgba(var(--color-primary-600-rgb), 1);
  color: var(--color-primary-600);
}
.button.hollow.primary i {
	color: var(--color-primary-600);
}

.button.hollow.white {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.3) !important;
	background-color: transparent !important;
}
.button.hollow.white:before {
	border: 1px solid rgba(255, 255, 255, 1);
	opacity: 0.3;
}
.button.hollow.white:hover:before {
	opacity: 0.8;
}

.button.hollow.white i {
	color: #ffffff
}




/* text link */
.text-link {
	position: relative;
	font-weight: 700;
	background: transparent !important;
	box-shadow: none !important;
	padding-left: 0 !important;
	padding-right: 3rem;
	border: 0 !important;
	color: var(--color-primary-950);
	text-shadow: none;
}
.text-link:before {
	display:none;
}
.text-link:hover {
	color: var(--color-primary-600);
}

.text-link i {
	color: var(--color-primary-600);

}


.section-wrapper.bg-primary .text-link,
.section-wrapper.bg-secondary .text-link,
.section-wrapper.bg-tertiary .text-link {
	color: rgba(255, 255, 255, 1) !important;
}


/* Button group */
.button-group .button{
	border-radius: 0;

}
.button-group .button:first-child{
	border-radius: 4px 0 0 4px;
}
.button-group .button:last-child{
	border-radius: 0 4px 4px 0px;
}