.cloudflare_modal {
	font-family: "Open Sans", sans-serif;
	font-weight: 100;
	font-size: 12px;
	color: $color-text_gray_dark;
	position: fixed;
	align-items: center;
	justify-content: center;
	display: flex;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba( 0, 0, 0, 0.7 );
	opacity: 0;
	z-index: 1000;
	transition: all 300ms linear;
	.container {
		background: $color-white;
		opacity: 0;
		box-shadow: 0 1px 15px rgba(0,0,0,0.75);
		width: 450px;
		min-height: 200px;
		box-sizing: border-box;
		transform: scale(0.85) perspective(200px) rotateX(5deg);
		transition: all 300ms;
		border-radius: 3px;
		max-height: 100vh;
		overflow: auto;
		.close {
			position: absolute;
			top: 12px;
			right: 6px;
			color: #777;
			height: 50px;
			width: 50px;
			line-height: 50px;
			transition: all 200ms;
			cursor: pointer;
			text-align: center;
			&:hover {
				color: $color-text_gray_dark;
			}
		}
		.title {
			padding: 22.5px;
			font-weight: 400;
			font-size: 1.8em;
			line-height: 1.3em;
			border-bottom: solid 1px $color-border_gray;
			background: $color-white;
			color: $color-text_gray_dark;
			border-radius: 3px 3px 0px 0px;
		}
		.sub-title {
			font-weight: 400;
			font-size: 0.7em;
			margin-top: 10px;
			line-height: 1em;
			background: $color-white;
			color: $color-text_gray_dark;
		}
		.message_container {
			max-height: 300px;
			overflow-y: scroll;
			font-smoothing: antialiased;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			div {
				padding: 0 22.5px;
				font-size: 1.1em;
				&.status {
					margin-top: 22.5px;
					margin-bottom: 15px;
					font-weight: 600;
				}
			}
		}
		.row {
			padding: 15px 22.5px;
			border-bottom: solid 1px $color-border_gray;
			background: #F5F5F5;
			display: flex;
			width: 100%;
			box-sizing: border-box;
			align-items: center;
			.label {
				text-align: right;
				width: 120px;
				padding-right: 30px;
				font-size: 1.1em;
			}
			.element {
				flex-grow: 1;
				font-size: 14px;
				flex-wrap: wrap;
				color: $color-text_gray_dark;
			}
			&.tight {
				flex-wrap: wrap;
				.label {
					width: 100%;
					text-align: left;
				}
				.element {
					display: flex;
					width: 100%;
				}
				.rows {
					display: flex;
					.row {
						padding: 0;
						border: none;
						width: 100%;
						display: flex;
						flex-wrap: wrap;
						margin: auto 3px;
						.label {
							width: 100%;
							text-align: left;
							color: $color-text_gray_light;
							font-size: 0.9em;
							line-height: 1.3em;
							margin-top: 7px;
						}
						.element {
							display: flex;
							width: 100%;
						}
						&:first-child {
							margin-left: 0;
						}
						&:last-child {
							margin-right: 0;
						}
					}
				}
			}
		}
		.buttons {
			padding: 15px 22.5px;
			border-radius: 0px 0px 3px 3px;
			background: #FFF;
			display: flex;
			width: 100%;
			box-sizing: border-box;
			align-items: center;
			justify-content: flex-end;
			font-size: 1.2em;
			input[type='button'] {
				width: auto !important;
				margin-left: 10px;
			}
		}
		p {
			font-size: 1.14em;
			font-weight: 400;
			margin-bottom: 15px;
			line-height: 1.5em;
		}
		> p {
			font-size: 1.2em;
			padding: 22.5px;
			margin: 0;
		}
		> li {
			font-size: 1.2em;
			padding: 0 45px;
		}
		.collections {
			width: 100%;
			.collection {
				width: 100%;
				display: flex;
				padding-top: 5px;
				padding-bottom: 5px;
				padding-left: 0;
				padding-right: 0;
				.delete {
					background: $color-border_gray;
					border-radius: 5px;
					border-bottom: solid 1px #BABABA;
					height: 30px;
					width: 30px;
					cursor: pointer;
					transition: all 200ms;
					text-align: center;
					font-size: 1em;
					padding-top: 7px;
					box-sizing: border-box;
					&:hover {
						background: #CCC;
					}
				}
				> *:first-child {
					margin-left: 0 !important;
				}
				> *:last-child {
					margin-right: 0 !important;
				}
				p {
					line-height: 2em;
				}
			}
		}
		textarea {
			// margin: 0 22.5px;
			// width: calc( 100% - 45px );
		}
		p + p {
			padding-top: 0 !important;
		}
		ul {
			list-style-type: disc;
			padding: 0;
			margin-left: 60px;
			font-size: 15.5px;
			line-height: 1.5em;
			padding-right: 22.5px;
		}
		> a {
			margin-left: 22.5px;
			font-size: 15.5px;
		}
		> p {
			font-size: 15.5px;
		}
		table.configure {
			font-size: 15.5px;
			line-height: 23px;
			padding: 0 22.5px;
			display: block;
			td {
				padding: 10px 0;
				&:nth-child(1) {
					padding-right: 15px;
				}
				&:nth-child(2) {
					min-width: 160px;
					vertical-align: middle;
					text-align: center;
				}
				> strong:nth-child( 1 ) {
					display: block;
				}
				b:before {
					display: block;
					content: "";
				}
			}
		}
	}
	&.active {
		opacity: 1;
		.container {
			opacity: 1.0;
			transform: scale( 1.0 );
			&:after {
				position: absolute;
				background-color: #FFF;
				transition: all .2s;
				background-repeat: no-repeat;
				background-position: center;
				background-size: 70px;
				visibility: hidden;
				width: 100%;
				height: 100%;
				top: 0;
				left: 0;
				cursor: not-allowed;
				transition: all 200ms;
			}
		}
		&.loading {
			pointer-events: none;
			.container {
				overflow: hidden;
			}
			.container:after {
				visibility: visible;
				background-color: rgba( 0, 0, 0, 0.5 );
				cursor: not-allowed;
				content: "";
			}
		}
	}
}
