body{
	&.modal-open {
		overflow: hidden;
		.modal{
			overflow-x:hidden;
			overflow-y:auto
		}
	}
	.modal{
		position:fixed;
		top:0;
		left:0;
		z-index:100050;
		display:none;
		width:100%;
		height:100%;
		overflow:hidden;
		outline:0;
		&.fade{
			.modal-dialog{
				transition:-webkit-transform .3s ease-out;
				transition:transform .3s ease-out;
				transform:translate(0,-50px);
			}
		}
		&.show {
			.modal-dialog {
				transform: none
			}
		}
		&.modal-static{
			.modal-dialog{
				transform:scale(1.02)
			}
		}
		&#video_modal {
			.modal-dialog {
				@media (min-width: 576px) {
					min-height: calc(100% - 3.5rem);
				}
				@media(min-width: 768px) {
					max-width: calc(100vw - 200px);
				}
				.modal-content {
					height: calc(100vh - 200px);
					background: transparent;
					border: none;
					@media(min-width: 768px){
						padding: 20px 30px;
					}
					.iframe_wr {
						position: relative;
						height: 100%;
						iframe,
						video {
							width: 100%;
							height: 100%;
							display: block;
							border: none;
							object-fit: contain;
						}
					}
					embed,
					iframe,
					object {
						max-width: 100%;
					}
				}
			}
		}
		@media (prefers-reduced-motion:reduce){
			&.fade {
				.modal-dialog {
					transition:none
				}
			}
		}
		.modal-dialog{
			position:relative;
			width:auto;
			margin:.5rem;
			pointer-events:none;
			@media(min-width: 576px){
				max-width: calc(100vw - 30px);
			}
			@media(min-width: 1200px){
				max-width: 400px;
			}
			&.modal-dialog-centered{
				display:-ms-flexbox;
				display:flex;
				-ms-flex-align:center;
				align-items:center;
				min-height:calc(100% - 1rem);
				&::before{
					display:block;
					height:calc(100vh - 1rem);
					content:"";
				}
				@media (min-width:576px){
					margin:1.75rem auto;
					min-height:calc(100% - 3.5rem);
					&::before{
						height:calc(100vh - 3.5rem)
					}
				}
			}
			.modal-content{
				position:relative;
				display:-ms-flexbox;
				display:flex;
				-ms-flex-direction:column;
				flex-direction:column;
				padding: 10px;
				width:100%;
				pointer-events:auto;
				background-color:#fff;
				background-clip:padding-box;
				border-radius:.3rem;
				outline:0;
				@media(min-width: 768px){
					padding: 20px 30px;
				}
				@media(min-width: 1200px){
					padding: 30px;
				}
				.modal-header{
					display:-ms-flexbox;
					display:flex;
					-ms-flex-align:start;
					align-items:flex-start;
					-ms-flex-pack:justify;
					justify-content:space-between;
					border-bottom: none;
					padding: 0;
					.modal-title{
						color: #000;
						font-family: 'museo-sans', sans-serif;
						font-size: 16px;
						font-weight: 700;
						@media (min-width: 992px) {
							font-size: 20px;
						}
					}
					.close{
						background: transparent;
						border: none;
						&:before {
							content: '';
							display: block;
							width: 20px;
							height: 20px;
							transition: all ease .3s;
							opacity: 1;
							background: linear-gradient(to top left, transparent 49%, white 50%, transparent 51%), linear-gradient(to top right, transparent 49%, white 50%, transparent 51%);
						}
						&:hover{
							&:before {
								opacity: .6;
							}
						}
					}
				}
				.modal-body{
					position:relative;
					-ms-flex:1 1 auto;
					flex:1 1 auto;
					padding: 0;
					margin-top: 20px;
					height: 100%;
				}
			}
		}
	}
	.modal-backdrop{
		position:fixed;
		top:0;
		left:0;
		z-index:100000;
		width:100vw;
		height:100vh;
		background-color:#000;
		&.fade{
			opacity:0
		}
		&.show{
			opacity:.5
		}
	}
}
