/* .display-* *******************************/

.display-desktop {
  display: none;
}

@media (min-width: 1000px) {

  .display-desktop {
    display: block;
  }

  .display-mobile {
    display: none;
  }
}

/* .mb-* *******************************/

mb-0 { margin-bottom: 0; }
mb-1 { margin-bottom: 10px; }
mb-2 { margin-bottom: 20px; }
mb-3 { margin-bottom: 30px; }
mb-4 { margin-bottom: 40px; }

/* .icon-text *******************************/

.icon-text {
  align-items: center;
  color: var(--color-brand-purple);
  display: flex;
	font-size: 0.9rem;
  gap: 10px;

  img {
    height: auto;
    opacity: 0.5;
		transition: all ease 0.2s;
    width: 16px;

		&:hover {
  	  opacity: 1;
		}
	}

	&.icon-text-lg {
		font-size: 1rem;
	  gap: 15px;

	  img {
			width: 30px;
		}
	}

	&.icon-text-table {
		align-items: flex-start;
		font-size: 1rem;
	  gap: 20px;

	  img {
			width: 30px;
		}

		strong {
			font-size: 1rem;
		}
	}
}

/* tooltip *******************************/

[data-bs-toggle="tooltip"] {
	border-bottom: 1px dashed #999;
	cursor: pointer;
}

/* .required *******************************/

.required::after {
	color: var(--color-danger);
	content: '*';
	font-weight: 800;
}

/* .menu-dots *******************************/

.menu-dots {
	padding: 0;
	text-align: center;

	button {
		background-color: #fff;
		border: 2px solid #00b9f2;
		border-radius: 20px;
		display: inline-block;
		height: 20px;
		margin: 0 5px;
		outline: 0;
		transition: all ease 0.2s;
		width: 20px;

    &:hover {
  		background-color: #baecfb;
	  }

    &.active {
		  background-color: #00b9f2;
  	}
  }
}

/* .w* *******************************/

@media (min-width: 1000px) {
	.w10 { width: 10%; }
	.w20 { width: 20%; }
	.w30 { width: 30%; }
	.w40 { width: 40%; }
	.w50 { width: 50%; }
	.w60 { width: 60%; }
	.w70 { width: 70%; }
	.w80 { width: 8%; }
	.w90 { width: 90%; }
	.w100 { width: 100%; }
}

/* .bullet *******************************/

.bullet {
	margin-bottom: 20px;
}

.bullet .headline {
	align-items: center;
	display: flex;
	gap: 15px;

}

.bullet .headline .graphic {
	align-items: center;
	background-color: #230732;
	border-radius: 25px;
	display: flex;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.bullet .headline .graphic img {
	height: 20px;
	width: 20px;
}

.bullet .headline span {
	font-size: 1.4rem;
	font-weight: 600;
}

.bullet .contents {
	padding-left: 55px;
}

/* .toggle *******************************/

.toggle {
	border: 1px solid #ccc;
	border-radius: 5px;
	cursor: pointer;
	margin-bottom: 10px;
	padding: 10px 20px;
	user-select: none;

	&:hover {
		background-color: rgba(0,185,242,0.1);
		border: 1px solid #00b9f2;
	}

	.header {
		align-items: flex-start;
		display: flex;
		font-weight: 600;
		gap: 10px;

		img {
			height: 16px;
			margin-top: 5px;
			width: auto;
		}
	}

	.contents {
		display: none;
		padding-top: 20px;
	}

	.contents-show {
		display: block;
	}
}

@media (min-width: 1000px) {

	.toggle {
		transition: all ease 0.2s;
	}
}

/* .photos-stack *******************************/

#slide-kahtoola {

 	.panel {

		.graphic {

.photos-stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;

  .photos {
		height: 400px;
    perspective: 1000px;
    position: relative;
		width: 100%;

		img {
		  border: 20px solid #fff;
   		border-radius: 5px;
		  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
		  height: auto;
		  left: 0;
		  position: absolute;
		  top: 0;
		  transition: all ease 0.3s;
		  width: 100%;
			z-index: 1;

			&.active {
				left: 0;
				transform: rotate(0deg);
				z-index: 10;
			}
	  }
	}

  .opts {
		align-items: center;
		display: flex;
		gap: 20px;
		justify-content: center;

    button {
      background-color: transparent;
      border: 3px solid rgba(255,255,255,0.5);
      border-radius: 10px;
      display: inline-block;
      height: 20px;
			outline: 0;
      transition: background-color 0.3s ease, opacity 0.3s ease;
      width: 20px;

      &:hover {
 	      background-color: #fff;
   	    opacity: 0.9;
     	}

      &.active {
 	      background-color: #fff;
   	    pointer-events: none;
     	}
    }
	}
}
}}}

@media (min-width: 1000px) {

	#slide-kahtoola {

 		.panel {

			.graphic {

				.photos-stack {
					gap: 200px;
				}
			}
		}
	}
}

@keyframes swap {
	0% { animation: swap 0.2s forwards ease-in-out; }
	50% { left: -500px; transform: rotate(-20deg); }
	100% { left: 0; transform: rotate(0deg); }
}

@keyframes spin {

	from {
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg); 
	}

	to {
		transform: rotate(360deg);
		-webkit-transform: rotate(360deg); 
	}
}

.graphic-layers {

.bg {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 120% 120%;
	height: 100%;
	position: absolute;
	top: 0;
	transition: all ease-out 0.5s;
	width: 100%;
}

	.fg {
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 105% 105%;
	background-size: cover !important;
	height: 100%;
	position: absolute;
	top: 0;
	transition: all ease-out 0.5s;
	width: 100%;
	}

.screen {
	background: transparent;
	border-radius: 50%;
	height: 0;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transition: all ease-out 0.3s;
	width: 0;
}

&:hover .screen {
	border-radius: 0;
	height: 100%;
	left: 0;
	opacity: 1;
	top: 0;
	width: 100%;
}
}