@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,700);

:root {
    --blue: #009FE3;
    --pink: #DB3168;
    --gray: #6C6C6C;
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 300;
    color: #888;
    line-height: 30px;
    text-align: center;
}


strong { font-weight: 500; }

a, a:hover, a:focus {
	color: #19b9e7;
	text-decoration: none;
    -o-transition: all .3s; -moz-transition: all .3s; -webkit-transition: all .3s; -ms-transition: all .3s; transition: all .3s;
}

h1, h2 {
	margin-top: 10px;
	font-size: 38px;
    font-weight: 100;
    color: #555;
    line-height: 50px;
}

h3 {
	font-size: 1.5em;
    font-weight: 300;
    color: #555;
    line-height: 30px;
}

img { max-width: 100%; }

::-moz-selection { background: #19b9e7; color: #fff; text-shadow: none; }
::selection { background: #19b9e7; color: #fff; text-shadow: none; }

.btn-link {
    color: white;
    border: 1.5px solid var(--pink);
    padding: 12px 40px;
    border-radius: 25px;
    display: inline-block;
    font-weight: 500;
    background: var(--pink);
    margin-bottom: 20px;
    margin-top: 20px;
    text-transform: uppercase;
    font-size: 1em;
}



.btn-link-1 {
	display: inline-block;
	height: 50px;
	margin: 0 5px;
	padding: 16px 20px 0 20px;
	background: #19b9e7;
	font-size: 16px;
    font-weight: 300;
    line-height: 16px;
    color: #fff;
    -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px;
}
.btn-link-1:hover, .btn-link-1:focus, .btn-link-1:active { outline: 0; opacity: 0.6; color: #fff; }

.btn-link-2 {
	display: inline-block;
	height: 50px;
	margin: 0 5px;
	padding: 15px 20px 0 20px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid #fff;
	font-size: 16px;
    font-weight: 300;
    line-height: 16px;
    color: #fff;
    -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px;
}
.btn-link-2:hover, .btn-link-2:focus, 
.btn-link-2:active, .btn-link-2:active:focus { outline: 0; opacity: 0.6; background: rgba(0, 0, 0, 0.3); color: #fff; }

.shadow{
    position: absolute;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    background: url('../eclinic/assets/img/backgrounds/header-shadow.png') repeat-x left top;
}


/***** Top menu *****/



.navbar {
	padding-top: 2px;
	background: #333;
	background: rgba(51, 51, 51, 0.3);
	border: 0;
	-o-transition: all .3s; -moz-transition: all .3s; -webkit-transition: all .3s; -ms-transition: all .3s; transition: all .3s;
}
.navbar.navbar-no-bg { background: none; }

ul.navbar-nav {
	font-size: 16px;
	color: #fff;
}

.navbar-inverse ul.navbar-nav li { padding-top: 8px; padding-bottom: 8px; padding-right:15px;}

.navbar-inverse ul.navbar-nav li .li-text { opacity: 0.8; }

.navbar-inverse ul.navbar-nav li a { display: inline; padding: 0; color: #fff; }
.navbar-inverse ul.navbar-nav li a:hover { color: #fff; opacity: 1; border-bottom: 1px dotted #fff; }
.navbar-inverse ul.navbar-nav li a:focus { color: #fff; outline: 0; opacity: 1; border-bottom: 1px dotted #fff; }

.navbar-inverse ul.navbar-nav li .li-social a {
	margin: 0 5px;
	font-size: 28px;
	vertical-align: middle;
}
.navbar-inverse ul.navbar-nav li .li-social a:hover, 
.navbar-inverse ul.navbar-nav li .li-social a:focus { border: 0; color: #19b9e7; }

.navbar-brand {
	margin-top: 30px;
	width: 148px;
	background: url(../img/logo.png) left center no-repeat;
	text-indent: -99999px;
}


/***** Top content *****/

.inner-bg {
    padding: 5px 0 10px 0;
}

.top-content .text {
	color: #fff;
}

.top-content .text h1 { color: #fff; }

.top-content .description {
	margin: 5px 0 5px 0;
}

.top-content .description p { opacity: 0.8; }

.top-content .description a {
	color: #fff;
}
.top-content .description a:hover, 
.top-content .description a:focus { border-bottom: 1px dotted #fff; }

.top-content .top-big-link {
	margin-top: 35px;
}


div.section {
	overflow: hidden;
	padding: 20px 25px 20px 25px;
	background: #fff;
	-moz-border-radius: 0px 0px 0 0; -webkit-border-radius: 0px 0px 0 0; border-radius: 0px 0px 0 0;
}

div.content {
	padding: 10px 0px 10px 0px;
}


.form-box {
	padding-top: 50px;
}

.form-top {
	overflow: hidden;
	padding: 0 25px 5px 25px;
	background: #fff;
	-moz-border-radius: 0px 0px 0 0; -webkit-border-radius: 0px 0px 0 0; border-radius: 0px 0px 0 0;
	text-align: left;
}

.form-top-left {
	float: left;
	width: 100%;
	padding-top: 15px;
	text-align: center;
}

.form-top-left h3 { margin-top: 0; }

.form-top-right {
	float: left;
	width: 25%;
	padding-top: 5px;
	font-size: 42px;
	color: #ddd;
	line-height: 100px;
	text-align: right;
}

.form-bottom {
	padding: 5px 25px 30px 25px;
	/*background: #eee;*/
	/*text-align: left;*/
}

.form-bottom input {
    border: 1px solid var(--blue);
    box-shadow: none;
    border-radius: 8px;
    padding: 15px 20px;
    height: 67px;
    margin-bottom: 2.25rem;
    background: white;
    font-size: 1em;
}

.form-bottom select {
    border: 1px solid var(--blue);
    box-shadow: none;
    border-radius: 8px;
    padding: 15px 20px;
    height: 67px;
    margin-bottom: 2.25rem;
    background: white;
    font-size: 1em;
}

.form-bottom input:focus {
    border-color: var(--blue);
    box-shadow: none;
}

.form-bottom input::placeholder {
    color: #999;
}

form .form-bottom textarea {
	height: 100px;
}

form .form-bottom button.btn { 
	min-width: 105px;
	margin-bottom: 5px; 
	width: 100%;
	background: var(--blue);
	border-radius: 80px;
	height: 67px;
	font-size: 1.2em;
}

form .form-bottom .input-error {
	border-color: red;
	color: red;
}

.checkbox-container {
    display: inline-block;
    position: relative;
}

input[type="checkbox"] {
    display: none; /* Amaga el checkbox original */
}

.checkbox-error {
    border: 2px solid red; /* Recuadre vermell */
    padding: 5px; /* Espai al voltant del checkbox */
    display: inline-block; /* Perquè el recuadre envolti el checkbox */
    border-radius: 4px; /* Opcional: arrodonir les cantonades */
}

.custom-checkbox {
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    display: inline-block;
    cursor: pointer;
    margin-right: 5px;
    flex: none;
}

input[type="checkbox"]:checked + .custom-checkbox {
    background-color: #007bff; /* Color de fons quan està seleccionat */
    border-color: #007bff; /* Color del recuadre quan està seleccionat */
}

form.registration-form fieldset {
	display: none;
}

div.top-content div.iconBack {
	display: block;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	background: url(images/back.svg);
	background-size: 20px 20px;
}


/***** Media queries *****/

@media (min-width: 992px) and (max-width: 1199px) {}

@media (min-width: 768px) and (max-width: 991px) {}

@media (max-width: 767px) {
	
	.navbar { padding-top: 0; }
	.navbar.navbar-no-bg { background: #49494a00; background-size:90px 60px;}
	.navbar-brand { height: 60px; margin-left: 15px; }
	.navbar-collapse { border: 0; }
	.navbar-toggle { margin-top: 12px; }
	
	.inner-bg { padding: 0 0 50px 0; }
	.top-content .top-big-link { margin-top: 25px; }
	.top-content .top-big-link a.btn { margin-top: 10px; }
	
	.form-bottom { padding-bottom: 25px; }
}

@media (max-width: 415px) {
	
	h1, h2 { font-size: 32px; }


}

@media (max-width: 768px) {
	.navbar-brand { background-size: 90px 60px; }

}

/* Retina-ize images/icons */

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {
	
	/* logo */
    .navbar-brand {
    		margin-top: 0px; background-image: url(../img/logo@2x.png) !important; background-repeat: no-repeat !important; background-size: 150px 50px !important;
    }
	ul.navbar-nav {
			color: #fff;
	}
	.navbar-inverse ul.navbar-nav li a { display: inline; padding: 0; color: #fff; }
.navbar-inverse ul.navbar-nav li a:hover { color: #fff; opacity: 1; border-bottom: 1px dotted #000; }
.navbar-inverse ul.navbar-nav li a:focus { color: #fff; outline: 0; opacity: 1; border-bottom: 1px dotted #000; }
	
}

/* Register Page */

  #popup_container {
    background-color: white;
    min-width: 400px;
    max-width: 400px;
    padding: 1em !important;
  }

  #popup_content {
    padding: 0em !important;
  }

  #popup_title {
    font-size: 2em;
  }

  #popup_message {
    /*margin-bottom: 2em;*/
    color: var(--m-important-color) !important;
  }

/* Mobile Document Viewer Styles */
.mobile-image-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 999999 !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
    -webkit-overflow-scrolling: touch;
}

.mobile-image-modal.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.mobile-image-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
}

.mobile-image-modal-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mobile-image-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    padding-top: calc(15px + var(--safe-area-inset-top, 0px));
    background: rgba(0, 0, 0, 0.5);
    color: white;
}

.mobile-image-modal-title {
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 50px);
}

.mobile-image-modal-close {
    background: none;
    border: none;
    color: white;
    font-size: 30px;
    line-height: 1;
    padding: 0 10px;
    cursor: pointer;
}

.mobile-image-modal-body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-image-modal-body img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mobile-image-modal-footer {
    padding: 15px;
    padding-bottom: calc(15px + var(--safe-area-inset-bottom, 0px));
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
}

.mobile-image-modal-download {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--blue, #009FE3);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 14px;
    cursor: pointer;
}

.mobile-image-modal-download svg {
    width: 18px;
    height: 18px;
}

/* Toast notifications */
.mobile-viewer-toast {
    position: fixed;
    bottom: calc(80px + var(--safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    z-index: 1000000 !important;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.mobile-viewer-toast.active {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
