.gb-migration__content {
	display: flex;
	flex-grow: 1;
	flex-direction: column;
}

.gb-migration__content ul {
	list-style-type: disc;
	padding-left: 1em;
	margin: 1em 0 0;
}

.gb-migration__content-wrapper {
	overflow: auto;
	flex-grow: 1;
}

.gb-migration-intro {
	margin-bottom: 2em;
}

.gb-migration-intro .inline-notice {
	align-items: center;
	display: flex;
	grid-gap: 2em;
	justify-content: space-between;
}

.step {
	background-color: var(--gb-color-gray-light);
	display: flex;
	justify-content: flex-start;
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 2em;
	padding-right: 2em;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: var(--gb-color-gray);
	max-height: 4.6em;
	overflow: hidden;
	transition-duration: 200ms;
}

.step:last-child {
	border-bottom: 1px solid var(--gb-color-gray);
}

.step--active.step:last-child,
.step--complete:last-child {
	border-bottom-width: 0;
	padding-bottom: 0;
}

.step--complete:last-child {
	background-color: rgba(0, 0, 0, 0);
	overflow: auto;
	max-height: none;
	padding-bottom: 0.5em;
}

.step-icon,
.substep-icon {
	display: flex;
	flex-shrink: 0;
	font-weight: 600;
	align-items: center;
	justify-content: center;
	height: 2.5em;
	width: 2.5em;
	border-radius: 99999px;
	border-color: var(--gb-color-gray);
	border-width: 2px;
	border-style: solid;
	color: var(--gb-color-gray);
}

.step-icon svg {
	width: 1.5em;
	height: 1.5em;
	fill: currentColor;
}

.step-icon span {
	font-size: 1.25em;
	font-weight: 600;
}

.step h3 {
	margin-bottom: 6px;
	margin-top: 6px;
}

.step--active {
	overflow: hidden;
	transition: max-height 1s ease-in-out;
	max-height: 200rem;
	background-color: var(--gb-color-white);
	padding-top: 2em;
	padding-bottom: 2em;
}

.step h3 {
	color: var(--gb-color-gray);
}

.step--active h3 {
	color: var(--gb-color-body);
}

.step--active .step-icon {
	border-color: var(--gb-color-brand);
	color: var(--gb-color-brand);
}

.step--complete .step-icon {
	background-color: var(--gb-color-body);
	border-color: var(--gb-color-body);
	color: var(--gb-color-white);
}

.step--complete h3 {
	color: var(--gb-color-body);
}

.step-content {
	flex-grow: 1;
	margin-left: 2em;
}

.step-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2em;
	border-top: 1px solid #e1e9f1;
	padding-top: 1em;
}

.step-footer form {
	display: flex;
	align-items: center;
	margin-left: auto;
	margin-bottom: 0;
	margin-right: 1em;
}

.step-footer button:only-child {
	margin-left: auto;
}

.substeps li {
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.207 8.293a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 1 1 1.414-1.414L10 12.086l3.793-3.793a1 1 0 0 1 1.414 0Z' fill='%239DB7D1'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2a9 9 0 1 0 0 18 9 9 0 0 0 0-18ZM0 11C0 4.925 4.925 0 11 0s11 4.925 11 11-4.925 11-11 11S0 17.075 0 11Z' fill='%239DB7D1'/%3E%3C/svg%3E");
	background-position: center left;
	background-repeat: no-repeat;
	color: var(--gb-color-gray);
	font-weight: 600;
	list-style-type: none;
	margin: 0.5em 0;
	padding-left: 32px;
}

.substeps li.active {
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.207 8.293a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 1 1 1.414-1.414L10 12.086l3.793-3.793a1 1 0 0 1 1.414 0Z' fill='%237E5CEF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2a9 9 0 1 0 0 18 9 9 0 0 0 0-18ZM0 11C0 4.925 4.925 0 11 0s11 4.925 11 11-4.925 11-11 11S0 17.075 0 11Z' fill='%237E5CEF'/%3E%3C/svg%3E");
	color: var(--gb-color-brand);
}

.substeps li.done {
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 0C4.925 0 0 4.925 0 11s4.925 11 11 11 11-4.925 11-11S17.075 0 11 0Zm4.207 8.293a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 1 1 1.414-1.414L10 12.086l3.793-3.793a1 1 0 0 1 1.414 0Z' fill='%23002838'/%3E%3C/svg%3E");
	color: var(--gb-color-body);
}

.gb-migration-progress {
	background-color: transparent;
	border: 1px solid #7e5cef;
	border-radius: 4px;
	display: inline-block;
	height: 8px;
	margin-left: 10px;
	position: relative;
	overflow: hidden;
	max-width: 250px;
	width: 100%;
}

.gb-migration-progress-inside {
	animation: gb-migration-progress-inside-animate 3.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
	background: linear-gradient(90deg, #1ee7ec 0%, #7e5cef 100%);
	bottom: 0;
	left: 0;
	position: absolute;
	top: 0;
	transition: width 0.4s linear 0s;
	transform: translateX(0%) !important;
	transform-origin: left;
	width: 20%;
}

.gb-migration-progress-inside .gb-migration-progress-animate2 {
	animation: gb-migration-progress-inside-animate2 3.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
}

@keyframes gb-migration-progress-inside-animate {

	0% {
		left: -35%;
		right: 100%;
	}

	60% {
		left: 100%;
		right: -90%;
	}

	100% {
		left: 100%;
		right: -90%;
	}

}

@keyframes gb-migration-progress-inside-animate2 {

	0% {
		left: -200%;
		right: 100%;
	}

	60% {
		left: 107%;
		right: -8%;
	}

	100% {
		left: 107%;
		right: -8%;
	}

}

.gb-migration__error {
	display: table;
	margin-bottom: 1em;
}

.gb-migration__error span:first-child {
	font-weight: 600;
	margin-right: 1em;
}

.message-future {
	font-size: 12px;
}

@media (max-width: 1023px) {

	.gb-migration-intro .inline-notice,
	.step-footer {
		display: block;
	}

	.inline-notice.gb-info a {
		text-align: left;
	}

	.step {
		padding: 1em;
	}

	.step-content {
		margin-left: 1em;
	}

	.step-footer button {
		margin-right: 0;
		margin-top: 1em;
	}

	.step-footer button + form {
		margin: 1.5em 0 0.5em;
	}

	.step-footer .gb-checkbox-label {
		line-height: 1;
	}

}

/*
 * Copied from Gutenberg.
 * https://github.com/WordPress/gutenberg/blob/eb856ef0892d6b9d15f39483ac2f45673d68f2d4/packages/components/src/spinner/style.scss
 */
.components-spinner {
	display: inline-block;
	background-color: #7e8993;
	width: 18px;
	height: 18px;
	opacity: 0.7;
	margin: 5px 11px 0;
	border-radius: 100%;
	position: relative;
}

.components-spinner::before {
	content: "";
	position: absolute;
	background-color: var(--gb-color-white);
	top: 3px;
	left: 3px;
	width: 4px;
	height: 4px;
	border-radius: 100%;
	transform-origin: 6px 6px;
	animation: components-spinner__animation 1s infinite linear;
}

@keyframes components-spinner__animation {

	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}

}
