/* 3. External Components */
/* 3.1. Simple jQuery Modal */
.blocker {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	z-index: 1;
	padding: 20px;
	box-sizing: border-box;
	background-color: var(--lwa-bg-color-3);
	text-align: center
}

.blocker:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -0.05em
}

.blocker.behind {
	background-color: transparent
}

.modal {
	display: none;
	vertical-align: middle;
	position: relative;
	z-index: 2;
	max-width: 500px;
	box-sizing: border-box;
	width: 90%;
	background: #fff;
	padding: 15px 30px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	-ms-border-radius: 8px;
	border-radius: 8px;
	-webkit-box-shadow: 0 0 10px #000;
	-moz-box-shadow: 0 0 10px #000;
	-o-box-shadow: 0 0 10px #000;
	-ms-box-shadow: 0 0 10px #000;
	box-shadow: 0 0 10px #000;
	text-align: left
}

.modal a.close-modal {
	position: absolute;
	top: -12.5px;
	right: -12.5px;
	display: block;
	width: 30px;
	height: 30px;
	text-indent: -9999px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')
}

.modal-spinner {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	padding: 12px 16px;
	border-radius: 5px;
	background-color: #111;
	height: 20px
}

.modal-spinner>div {
	border-radius: 100px;
	background-color: #fff;
	height: 20px;
	width: 2px;
	margin: 0 1px;
	display: inline-block;
	-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
	animation: sk-stretchdelay 1.2s infinite ease-in-out
}

.modal-spinner .rect2 {
	-webkit-animation-delay: -1.1s;
	animation-delay: -1.1s
}

.modal-spinner .rect3 {
	-webkit-animation-delay: -1.0s;
	animation-delay: -1.0s
}

.modal-spinner .rect4 {
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s
}

@-webkit-keyframes sk-stretchdelay {
	0%,
	40%,
	100% {
		-webkit-transform: scaleY(0.5)
	}
	20% {
		-webkit-transform: scaleY(1.0)
	}
}

@keyframes sk-stretchdelay {
	0%,
	40%,
	100% {
		transform: scaleY(0.5);
		-webkit-transform: scaleY(0.5)
	}
	20% {
		transform: scaleY(1.0);
		-webkit-transform: scaleY(1.0)
	}
}

.jquery-modal {
	&.blocker {
		z-index:11;
		padding:40px;
	}
	&.blocker.blocker--full {
		padding:0;
	}

	> .modal {
		z-index:9;
		width:100%;
		max-width:610px;
		position:relative;
		padding:0;
		border-radius:10px;
		min-height:calc(96px + 102px);
		max-height: calc(100% - 160px);
		overflow:hidden;
		background: var(--lwa-bg-color);

		> .inner {

			> .modal__head {
				position:absolute;
				top:0;
				left:0;
				width:100%;
				height:51px;
				background:transparent;
				border-bottom: var(--lwa-border);
				border-radius: 10px 10px 0 0;

				h2, h3, h4 {
					margin:0;
					padding:10px 20px;
					line-height:32px;
					font-size:1.1rem;
					
					span[mod-id="132"] {
						vertical-align: top;
						background-color: var(--lwa-gray-1);
    				height: 30px;
    				line-height: 28px;
						border-radius:5px;
						padding:0 10px 0 2px;
						margin: 2px 0 0 0;
						display: inline-block;
						
						.v-phase {
							vertical-align: top;
							display: inline-block;
    					height: 30px;
							
							img {
								height: 25px;
								width: 25px;
								margin: 2px 0 0 0;
							}
						}
						.v-num {
							font-weight: 500;
							margin-left: -4px;
						}
					}
				}
				a.close-modal {
					top: 10px;
					right: 10px;
				}
			}
			> .modal__body {
				max-height: calc(100vh - 160px - 184px);
				min-height: 96px;
				overflow-y: auto;
				overflow-x:hidden;
				padding: 10px 20px;
				margin: 52px 0;
				font-size:.95rem;
				background:var(--lwa-bg-color);

				h3, h4 {
					margin:10px 0;
					font-size:1rem;
				}
				p.lead {
					font-size:.9rem;
					margin:0 0 20px 0;
					color:var(--lwa-gray-2);
				}
				p {font-size:.9rem;margin: 0 0 10px 0;}
			}
			> .modal__foot {
				position:absolute;
				bottom:0;
				left:0;
				width:100%;
				height:52px;
				background:var(--lwa-bg-color);
				border-top: var(--lwa-border);
				border-radius: 0 0 10px 10px;

				> a {
					display: block;
					padding: 10px 20px;
					text-align: center;
					font-size: 1rem;
					color: var(--lwa-red-2);
					line-height: 30px;
					font-weight: 500;
          text-transform: uppercase;
					cursor:pointer;
					
					&:hover {
						color:var(--lwa-red-3);
					}
				}
			}
		}

		> .close-modal {
			top: 0px;
			right: 0px;
			background:transparent;
			font-size:0;
			text-indent: 0;
			width:52px;
			height:52px;

			&::before {
				width:52px;
				height:52px;
				display:block;
				position:absolute;
				top:0;
				right:0;
				content:"✕";
				color: var(--lwa-gray-2);
				font-size:1.4rem;
				line-height:50px;
				text-align:center;
				font-weight:700;
			}

			&:hover::before {
				color: var(--lwa-red-2);
			}
		}
	}
	
	> .modal--ext-pay {
		max-width:485px;
		
		.modal__body {
			.pay-banner {
				border-bottom:var(--lwa-border);
				padding: 20px 0;
        margin: 0 0 15px 0;
				
				.inner {
					display:flex;
					flex-direction:row;
					max-width:fit-content;
					margin: 0 auto;
				
					.i {
						flex:0 0 110px;
						background:var(--lwa-white);

						.logo {
							width: 65px;
							height: 65px;
							border: var(--lwa-border);
							border-radius: 10px;
							padding: 10px;
							box-shadow: var(--lwa-shadow-1);
							margin: 0 auto;

							img {
								width: 44px;
								height: 44px;
								border-radius: 10px;
								display: block;
							}
						}
						.label {
							display:block;
							text-align:center;
							max-width:100px;
							margin:10px auto 5px auto;
							font-weight:500;
						}
					}
					.i-sep {
						flex: 0 0 40px;
						text-align: center;
						font-size: 3rem;
						line-height: 55px;
						color: var(--lwa-gray-2);
						position:relative;
						
						img {
							display:block;
							width:30px;
							height:auto;
							filter:var(--lwa-f-gray-2);
							margin: 20px auto 0 auto;
						}
					}
				}
			}
			
			#extLinkEl {
				display:block;
				background-color:var(--lwa-blue-2);
				color:var(--lwa-white);
				text-align:center;
				text-transform:uppercase;
				padding:10px 20px;
				margin:15px 0 10px 0;
				font-size:1rem;
				box-shadow:var(--lwa-shadow-1);
				font-weight:500;
				border-radius: 20px;
				
				&:hover {
					background-color:var(--lwa-blue-3);
				}
			}
		}
	}
	
	@media only screen and (max-width: 480px) {
		> .modal--ext-pay {
			max-height: fit-content;
			
			> .inner {
				> .modal__body {
					.pay-banner {
						.inner {
							max-width:unset;
							justify-content: center;
							
							.i {
								
								.logo {
									width:50px;
									height:50px;
									padding:5px;
									
									img {
										width: 39px;
                    height: 39px;
									}
								}
								.label {
									font-size: .9rem;
									white-space:nowrap;
									overflow:visible;
								}
							}
							.i-sep {
								img {margin-top:12px;}
							}
						}
					}
				}
			}
		}
	}
}








