/***********************************************************/
/*                                                         */
/* Plataforma e-ducativa - Argentina                       */
/*                                                         */
/* Copyright (c) 2025 de e-ducativa Educación Virtual S.A. */
/*                                                         */
/***********************************************************/
.modal_window {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
    padding: 94px 40px 48px;
	text-decoration: none;
	background-color: rgba(0,0,0,0.75);
	z-index: 999;
}
.modal_window .modal_wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 320px;
	max-height: 72vh;
	border-radius: 4px;
	background-color: #f3f3f3;
	animation-name: animatetop;
	animation-duration: .3s;
	animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
	overflow-y: hidden;
}
/* Animacion - aparicion superior */
@keyframes animatetop {
	from {
		transform: translateY(-800px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}
/* Animacion - aparicion inferior */
@keyframes animatebottom {
	from {
		transform: translateY(800px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Header */
.modal_window .modal_wrapper .modal_header {
    position: sticky;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 16px;;
    border: 1px solid #f3f3f3;
    border-radius: 4px 4px 0 0;
    background-color: #064265;
}
.modal_window .modal_wrapper .modal_header .modal_header_title {
	display: flex;
	align-items: center;
	gap: 8px;
}
/* Titulo header */
.modal_window .modal_wrapper .modal_header .modal_header_title .modal_header_title_text {
    margin: 0;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    color: #ffffff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.modal_window .modal_wrapper .modal_header .modal_header_title .modal_header_title_icon {
	/*Clase actualmente sin uso. Se deja por si en el futuro se requiere aplicarle estilo de manera generica al icono*/
}
/* Contenido gral */
.modal_window .modal_wrapper .modal_content {
	flex: 1;
	padding: 9px 16px 8px;
	color: #636363;
	overflow-y: auto;
}
/* Footer */
.modal_window .modal_wrapper .modal_footer {
	display: flex;
	justify-content: flex-end;
	padding: 10px 16px 10px;
}
/* Contenedor botones accion */
.modal_window .modal_wrapper .modal_footer .modal_action_buttons {
	display: flex;
	gap: 14px;
}
/* Boton generico*/
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn {
	display: flex;
	align-items: center;
	padding: 8px 12px;
	font-family: 'Roboto', sans-serif;
	font-size: .875rem;
	color: #ffffff;
	border-radius: 4px;
	cursor: pointer;
}
/* Boton accion primaria */
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary {
	border: 1px solid #338809;
	background-color: #338809;
}
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:hover {
	border-color: #38920c;
	background-color: #38920c;
}
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:active {
	border-color: #2b7c03;
	background-color: #2b7c03;
}
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:focus {
    border-color: #4CAF50;
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.6);
    outline: none;
}
/* Boton accion secundaria */
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_cancel {
	color: #196eb9;
	border: 1px solid #9bb8d1;
	background-color: #ffffff;
}
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_cancel:hover {
	color: #1376cd;
  	border-color: #70a1cb;
}
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_cancel:active {
	color: #01539b;
	border-color: #01539b;
}
.modal_window .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_cancel:focus {
    border-color: #1a73e8;
	box-shadow: 0 0 5px rgba(25, 110, 185, 0.6);
    outline: none;
}

.modal_window .modal_exit_button {
    margin-left: auto;
    margin-right: -4px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

/* Temporal hasta que se saque la regla general
   en admin.css, que modifica fa-times */
.modal_window .modal_exit_button .fa-times-circle {
	font-size: 1.25rem;
	color: rgba(255, 255, 255, .75);
}
.modal_window .modal_exit_button:hover .fa-times-circle { color: rgba(255, 255, 255, 1); }

.modal_window .modal_exit_button:active .fa-times-circle { filter: blur(.6px); }


/* ----------------------------------------------------------
   Clases a utilizar en el constructor de modal en comunes.js
   ---------------------------------------------------------- */

/* Clases de posicionamiento
   ------------------------- */
.modal_window .modal_wrapper.wrapper_pos_top {
	align-self: flex-start;
	animation-name: animatetop;
	animation-duration: .3s;
}
/*Ajustar mensajeria*/
.modal_window .modal_wrapper.wrapper_pos_top.comunes_mensajeria {
    height: 100%;
    max-height: 90vh;
    width: 80%;
}

.modal_window .modal_wrapper.wrapper_pos_bottom {
	align-self: flex-end;
	animation-name: animatebottom;
	animation-duration: .3s;
}

.modal_window .modal_wrapper.wrapper_pos_right { margin-left: auto; }

.modal_window .modal_wrapper.wrapper_pos_left {	margin-right: auto; }


/* Clases de dimensiones para el modal
   ----------------------------------- */
.modal_window .modal_wrapper.wrapper_size_large { width: 90vw; }

.modal_window .modal_wrapper.wrapper_size_medium { width: 60vw; }

.modal_window .modal_wrapper.wrapper_size_small { width: 30vw; }


/* ---------------
   Alert y Confirm
   --------------- */
.modal_window.alert_comunes .alert_text, .modal_window.confirm_comunes .confirm_text {
	margin: 0;
	word-wrap: break-word;
}

/*Alert - Info*/

.modal_window.alert_comunes.alert_info .modal_wrapper .modal_header {
	background: #334e66;
}
.modal_window.alert_comunes.alert_info .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary {
	border: 1px solid #334e66;
	background: #334e66;
}
.modal_window.alert_comunes.alert_info .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:hover {
	border-color: #385869;
	background-color: #385869;
}
.modal_window.alert_comunes.alert_info .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:active {
	border-color: #2b4260;
	background-color: #2b4260;
}
.modal_window.alert_comunes.alert_info .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:focus {
    border-color: rgb(76, 117, 173);
    box-shadow: 0 0 5px rgba(76, 117, 173, 0.6);
    outline: none;
}

/*Alert - Success*/

.modal_window.alert_comunes.alert_success .modal_wrapper .modal_header {
	background: #226b41;
}
.modal_window.alert_comunes.alert_success .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary {
	border: 1px solid #226d41;
	background: #226d41;
}
.modal_window.alert_comunes.alert_success .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:hover {
	border-color: #277744;
	background-color: #277744;
}
.modal_window.alert_comunes.alert_success .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:active {
	border-color: #1a613b;
	background-color: #1a613b;
}
.modal_window.alert_comunes.alert_success .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:focus {
    border-color: #3b9488;
    box-shadow: 0 0 5px rgba(59, 148, 136, 0.6);
    outline: none;
}

/*Alert - Warning*/

.modal_window.alert_comunes.alert_warning .modal_wrapper .modal_header {
	background: #8d812c;
}
.modal_window.alert_comunes.alert_warning .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary {
	border: 1px solid #807428;
	background: #807428;
}
.modal_window.alert_comunes.alert_warning .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:hover {
	border-color: #857e2b;
	background-color: #857e2b;
}
.modal_window.alert_comunes.alert_warning .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:active {
	border-color: #786822;
	background-color: #786822;
}
.modal_window.alert_comunes.alert_warning .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:focus {
    border-color: #999b6f;
    box-shadow: 0 0 5px rgba(153, 155, 111, 0.6);
    outline: none;
}

/*Alert - Danger*/

.modal_window.alert_comunes.alert_danger .modal_wrapper .modal_header {
	background: #843333;
}
.modal_window.alert_comunes.alert_danger .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary {
	border: 1px solid #843333;
	background: #843333;
}
.modal_window.alert_comunes.alert_danger .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:hover {
	border-color: #893d36;
	background-color: #893d36;
}
.modal_window.alert_comunes.alert_danger .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:active {
	border-color: #7c272d;
	background-color: #7c272d;
}
.modal_window.alert_comunes.alert_danger .modal_wrapper .modal_footer .modal_action_buttons .modal_action_btn.modal_action_btn_primary:focus {
    border-color: rgb(157, 90, 122);
    box-shadow: 0 0 5px rgba(157, 90, 122, 0.6);
    outline: none;
}

/* -------------
   Open (iframe)
   ------------- */
.modal_window .modal_wrapper .modal_content.iframe {
	padding: 0;
	overflow-y: hidden;
}
