
/* root
------------------------------------------------------------------------------------------------------  */
:root {
	
	/* font  */
	--font: Arial;		
	--font-regular: 'din-2014',sans-serif;
	--font-narrow: 'din-2014-narrow',sans-serif;
	

	/* colors */
	--color-primary: #d70b52;
    --color-secondary: #be0a49; 
    --color-tertiary: #fdeef3; 
	--color-black: #292929; 
	--color-white: #fff; 
	--color-grey: #3d3d3d; /*575757*/
	--color-lightgrey: #f6fafd; 
	--color-darkgrey: #1e252b;
	--color-red: #c00;

}


body {    
    font-family: var(--font);         
    padding-top: 80px;  
    background-color: var(--color-lightgrey);  
}
body.login {	
	background: url('../img/Assessment pane.jpg') no-repeat fixed 100% 100%;
	background-size: cover;
}


h1  {
	color: var(--color-black);   
	font-family: var(--font-regular);  
	font-weight: 700;
	font-size: 3rem;
}
h2  {
	color: var(--color-black);   
	font-family: var(--font-regular);  
	font-size: 2.3rem;
}
h3  {
	color: var(--color-black);  
	font-family: var(--font-regular);   
}
h4  {
	color: var(--color-black);   
	font-family: var(--font-regular);  
}
p  {
	color: var(--color-black);   
	font-size: 1.2rem;
	line-height: 1.7rem;
	padding-bottom: 10px;
}
a {
	color: var(--color-primary);   
	text-decoration: none;
}
a:hover {
	color: var(--color-grey);   
}

.btn {
	font-size: 1.2rem;
	font-weight: 400;
	font-family: var(--font-regular);  
	text-transform: uppercase;
	padding: 12px 50px;
	border-radius: 6px;
}
.btn.btn-primary {
	background-color: var(--color-primary);   	
	border-color: var(--color-primary);   
}
.btn.btn-primary:hover {
	background-color: var(--color-secondary);   
	border-color: var(--color-secondary);   
}
.btn.btn-mini {
	font-size: 0.8rem;	
}

.text-color {
	color: var(--color-primary);   
}
.line-color {
	width: 100%;
	height: 1px;
	background-color: #efefef;   	
	text-align: center;	
}
.line-color span {
	width: 75px;
	height: 3px;
	background-color: var(--color-primary);   	  
	margin: 0 auto;	
	display: block;
	margin-top: -1px;
}

.badge {
	background-color: var(--color-primary);   
	color: var(--color-white);   	  
    float: left;
    position: absolute;
    transform: rotate(45deg);
	right: -50px;
	top: 46px;
    text-align: center;
    width: 240px;
    font-size: 1rem;
    margin: 0;
    z-index: 1;    
    font-weight: 500;
    line-height: 28px;
	text-transform:uppercase;
}


/* header
------------------------------------------------------------------------------------------------------  */

header {
	position: fixed;
    width: 100%;
    padding: 0;
    z-index: 999;
    margin-top: -80px;
    font-family: var(--font-regular);  
}
header .header-bar {
	padding: 5px 0;
	background-color: var(--color-secondary);   	 
}
header .header-main {
	width: 100%;		
	background-color: var(--color-primary);   	
}
header .navbar {
	 padding-top: 0px;
}
header .navbar .navbar-brand {	
	display: inline-block;	
	padding-bottom: 0;
}
header .navbar .navbar-brand img.logo-tsa {
	width: 70px;
	margin-top: 4px;
}
header .navbar .navbar-brand img.logo-tec {
	width: 85px;
	margin-top: 3px;
	margin-left: 8px;
}
header .navbar .navbar-nav {
	padding-top: 22px;
}
header .navbar .nav-item {
	margin-left: 10px;
} 
header .navbar .nav-link {
	color: var(--color-white);  
	font-size: 1.1rem;		
}
header .navbar .nav-item.profile {
	margin-left: 15px;
	margin-right: -8px;
}
header .navbar .nav-item.profile .nav-link {
	font-size: 0.75rem;	
	margin-top: -20px;
} 
header .navbar .nav-item.profile .nav-link span {
	width: 50px;
	height: 50px;
	background-image: url('../img/icon_profile.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center; 
	display: block;	
	margin-bottom: -3px;
} 
header .navbar .nav-link.active {
	color: var(--color-lightgrey);   
}
header .navbar .nav-link:hover {
	color: var(--color-lightgrey);
	opacity: 0.8;   
}
header .navbar .nav-link.show {
	color: var(--color-white);   
}
header .navbar .navbar-collapse {
	justify-content: flex-end;
}    
header .header-username {
	font-size: 0.75rem;
	color: var(--color-white);  
	margin-right: 20px;	
	margin-top: 2px;
}
header .header-username i {
	margin-right: 2px; 	
}
header .header-button {
	color: var(--color-secondary); 
	font-size: 0.75rem;  
	background-color: var(--color-lightgrey);
	padding: 2px 10px;
	border-radius: 10px;	
}
header .header-button:hover {
	opacity: 0.8;
}
header .navbar-toggler {
	background-color: var(--color-white); 
	float: right;	
	width: auto;
	color: var(--color-primary);   	
}
header .navbar-toggler .navbar-toggler-icon i {
	font-size: 2rem;
}
.no-header header {
	display: none;
}


/* login
------------------------------------------------------------------------------------------------------  */

.box-login {
	background-color: var(--color-white);
	width: 100%;
	min-height: 400px;	
}
.box-login .login-header {
	height: 120px;
	background-color: var(--color-primary); 
	font-family: var(--font-regular);  
	color: var(--color-white);
}
.box-login .login-header .tsa {
	display: inline-block;
	width: 70%;
	padding-top: 30px;
}
.box-login .login-header .tsa img {
	width: 300px;
	margin-left: 15px;
	display: inline-block;
}
.box-login .login-header .tec-quality {
	background-color: var(--color-white); 
	display: inline-block;
	width: 120px;
	text-align: center;	
}
.box-login .login-header .tec-quality img {
	width: 100px;
	margin: 10px 0;	
}
.box-login h1  {
	font-size: 2.5rem;
}
.box-login p {
	font-size: 1.1rem;
	padding-top: 20px;
	padding-right: 20px;
}
.box-login .form-login {
	background-color: var(--color-lightgrey); 
	-webkit-box-shadow: -5px 0px 5px 0px rgba(221,221,221,0.5);
	-moz-box-shadow: -5px 0px 5px 0px rgba(221,221,221,0.5);
	box-shadow: -5px 0px 5px 0px rgba(221,221,221,0.5);
	font-size: 0.9rem;
	line-height: 1.2rem;
	padding: 25px 20px 15px 20px;
}
.box-login .login-footer {
	background-color: var(--color-darkgrey); 	
}
.box-login .login-footer img {
	width: 165px;
}
.box-login .btn {
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: none;
	padding: 0.375rem 0.75rem;
}


/* banner
------------------------------------------------------------------------------------------------------  */

.banner {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	position: relative;
	padding: 0;
}
.banner img {
	width: 100%;
	height: 300px;
}
.banner .banner-container {
	position: absolute;	 
	top: 6%;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center; 	
}
.banner .banner-text {
	font-family: var(--font-regular);  	
	color: var(--color-white);   		
	justify-content: left; 
	font-weight: 400;
	text-align: left;
	padding: 0;
	font-size: 3rem;
}


/* text
------------------------------------------------------------------------------------------------------  */

.text {
	margin-top: 60px;
}
.text .icon-image {
	text-align: center;	
	font-family: var(--font-regular);  	
}
.text .icon-image img {
	width: 200px;
	display: block;
	margin: 0 auto;
}
.text .icon-image span {
	display: block;
	color: var(--color-black);
	font-size: 1.9rem;
}
.text .icon-image:hover {
	opacity: 0.6;
}
.text img.logo-tsa {
	width: 150px;
}

/* card
------------------------------------------------------------------------------------------------------  */

.card {
	border-radius: 10px;
	-webkit-box-shadow: 0px 0px 5px 5px rgba(231,231,231,0.5);
	-moz-box-shadow: 0px 0px 5px 5px rgba(231,231,231,0.5);
	box-shadow: 0px 0px 5px 5px rgba(231,231,231,0.5);	
}
.card:hover {	
	background-image: url('../img/gradient.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom center; 	
}
.card:hover h4 {
	color: var(--color-white) !important;   	
}
.card:hover .card-text,.card:hover .completed {
	color: var(--color-white) !important;   	
}
.card:hover .card-img {
	opacity: 0.6;
}
.card .card-title {
	text-align: center;
	font-size: 1.6rem;
	text-transform: uppercase;
	font-weight: 700;
	padding: 10px 10px;
}
.card .card-duration {
	text-align: center;
	font-size: 1.2rem;		
	padding-bottom: 10px;
	color: var(--color-black);   
}
.card .card-duration .fa {
	color: var(--color-primary);   
	margin-right: 5px;
	font-size: 1.4rem;		
}
.card:hover .card-duration,.card:hover .card-duration .fa {
	color: var(--color-white) !important;   	
}
.card .card-icon {
	width: 25%;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: -10px;
}
.card .card-text {
	padding: 5px 5%;
	font-size: 1rem;
	line-height: 1.4rem;
	min-height: 125px;
	color: var(--color-primary); 
}
.card .card-img {	
	border-radius: 8px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center; 	
}
.card .card-img img {
	width: 100%;
}
.card .btn {
	font-size: 1rem;
}
.card .completed {
	font-size: 1rem;
	text-transform: uppercase;
	color: var(--color-primary); 
	font-family: var(--font-regular);  
	padding: 12px 0;
	margin-bottom: 18px;	
}
.card.disabled {
	pointer-events: none;
	opacity: 0.5;		
}
.card.disabled .card-text {
	color: var(--color-grey);  
}
.card.disabled .btn {
	background-color: var(--color-grey);  
	border-color: var(--color-grey);  
}
.card.disabled .card-duration .fa {
	color: var(--color-black);   
}
.card:hover .card-topic {
	color: var(--color-white) !important;   	
}
.card .card-date {
	font-size: 1.1rem;
	color: var(--color-darkgrey); 
	font-family: var(--font-regular);  	
}
.card:hover .card-date {
	color: var(--color-white) !important;   	
}
.card .pinned {
    width: 45px;
    height: 45px;    
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 99;
    border-radius: 100%;
    border: 1px solid #ddd;
    background-color: #fff;
    font-size: 1.5rem;
}
.card .pinned i {
    margin-top: 10px;
}

.home .card .card-title {
	text-align: center;
	font-size: 1.8rem;	
	font-weight: 400;
	text-transform: none;
	padding: 10px 10px;
	font-size: 2.3rem;
}
.home .card:hover .card-title {
	color: var(--color-white) !important;   	
}
.home .card .card-text {
	padding: 15px 15%;
	font-size: 1.5rem;
	line-height: 2.2rem;
	min-height: 220px;
	color: var(--color-black); 
}
.home .card .btn {
	font-size: 1.2rem;
}


/* search
------------------------------------------------------------------------------------------------------  */

.search .form-control::placeholder {
	color: #212529;
}
.search .btn {
	font-size: 1rem;
	padding: 8px 20px;
	margin-top: -2px;
}


/* pagination
------------------------------------------------------------------------------------------------------  */

.pagination .page-link {
	color: var(--color-primary); 
}
.pagination .page-item.active .page-link {
	background-color: var(--color-primary); 
	border-color: var(--color-primary); 
}



/* accordion
------------------------------------------------------------------------------------------------------  */

.accordion-caption {
	width: 100%;
	padding: 15px 20px;
	background-color: var(--color-primary); 
	color: var(--color-white);   
	font-family: var(--font-regular); 
	font-size: 1.2rem;	
}
.accordion-item {
	border-color: var(--color-lightgrey);
}
.accordion-button {
	background-color: var(--color-lightgrey) !important;  
	color: var(--color-black) !important; 
	font-size: 1.6rem;	
	border: 1px solid var(--color-lightgrey);
	border-bottom: 2px solid var(--color-primary) !important;
}
.accordion-button:not(.collapsed) {
	border-bottom: 2px solid transparent !important;
	box-shadow: none;
}
.accordion-button:focus {
	border-color: var(--color-lightgrey);
	box-shadow: none;
}
.accordion-button:hover {
	background-color: var(--color-tertiary) !important;  
}
.accordion-collapse {
	border-bottom: 2px solid var(--color-primary);
	background-color: var(--color-lightgrey) !important;  
}
.accordion-body {
	background-color: var(--color-lightgrey) !important;  
	padding-top: 0;
	padding-bottom: 0;	
}
.accordion-body p {
	color: var(--color-primary); 
	font-size: 1rem;			
}




/* form
------------------------------------------------------------------------------------------------------  */

.form {
	font-family: var(--font-regular);  
}
.form .form-group {
	margin-bottom: 1.25rem;  
}
.form .form-label {
	color: var(--color-black);
	font-weight: 700;  
	font-size: 1rem; 	
}
.form .form-check label {
	cursor: pointer;
}
.form .form-check input {
	cursor: pointer;
}
.form .help-block {
    margin-top: 6px;
    font-size: 13px;
    color: var(--color-primary); 
    width: 100%;
}
.form .alert {
	display: none;
	background-color: transparent; 
	border: none;
	color: var(--color-primary); 
	margin-bottom: 0;
	font-size: 1rem;
}
.form .warning {
	border-color: var(--color-primary); 
}
.form .txt-warning,.form .txt-warning p {
	color: var(--color-primary); 
}


/* survey
------------------------------------------------------------------------------------------------------  */

.forms {
	margin-top: 100px;
}
.forms .title {
	width: 100%;
	text-align: center;
	font-size: 2.5rem;
}
.forms .caption{
	font-size: 1.3rem;
	color: var(--color-primary); 
	margin-bottom: 25px;
	line-height: 1.3rem;
}
.forms .caption span{
	font-size: 0.9rem;	
}
.forms .form-check-input {
	margin-top: 6px;
}
.forms .radio_label {
	font-size: 1.2rem;	
	margin-right: 15px;
}
.forms .form-label p {
	margin-bottom: 0;
	margin-top: 5px;
}
.forms .msg-confirm {
	font-size: 1.3rem;
	color: var(--color-primary); 
}



/* table
------------------------------------------------------------------------------------------------------  */

.table-custom {
	font-size: 0.9rem;
}
.table-custom th {
	background-color: var(--color-primary); 
	color: var(--color-white); 
}
.table-custom td {
	background-color: var(--color-white); 	
}

.dt-buttons .buttons-excel {
	font-size: 1rem;
	padding: 10px 25px;
	margin: 15px 0 25px 0;
}



/* my profile
------------------------------------------------------------------------------------------------------  */

.menu-profile {
	font-family: var(--font-regular);  
	background-color: var(--color-white); 
	margin-right: 40px;
	margin-top: 8px;
	border-left: 5px solid var(--color-primary); 
}
.menu-profile li {
	padding: 15px 20px;
	font-size: 1.2rem;	
}
.menu-profile li.active {
	background-color: var(--color-primary); 
	color: var(--color-white); 
}
.menu-profile li a {
	color: var(--color-black); 
}
.menu-profile li a:hover {
	color: var(--color-primary); 
}
.menu-profile li.active a {
	color: var(--color-white); 
}
.menu-profile li.active a:hover {
	color: var(--color-white); 
}



/* privacy
------------------------------------------------------------------------------------------------------  */

.privacy ul,.privacy li,.privacy td,.privacy th {
    color: var(--color-black);
    font-size: 1.2rem;
    line-height: 1.7rem;
    padding-bottom: 10px;
}


/* modal
------------------------------------------------------------------------------------------------------  */

.modal {
	font-family: var(--font-regular);  
}
.modal .modal-body p {
	font-size: 1.2rem;
}
.modal .modal-img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    margin-bottom: 15px;
}
.modal-footer .btn {
    background-color: var(--color-primary); 
	color: var(--color-white); 
}




/* back to top
------------------------------------------------------------------------------------------------------  */

#back-to-top {
    color: #fff;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    display: none;
    text-align: center;
    border-radius: 7px;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
    -o-border-radius: 7px;
    z-index: 10000;
    height: 50px;
    width: 50px;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-color .1s linear;
    -moz-transition: background-color .1s linear;
    -webkit-transition: background-color .1s linear;
    -o-transition: background-color .1s linear;
    background-color: var(--color-primary); 
    cursor: pointer;
    padding-top: 10px;
}

#back-to-top:hover {
    background-color: var(--color-secondary);     
}



/* footer
------------------------------------------------------------------------------------------------------  */

footer {
	font-family: var(--font-regular);  
}
footer .footer-main {	
	background-color: var(--color-primary); 
	padding: 25px 0;
	color: var(--color-white); 
	margin-bottom: 3px;
}
footer .footer-main img {
	width: 125px;
	margin-right: 20px;	
}
footer .footer-main .display-4 {
	font-size: 1.7rem;
}
footer .footer-main .display-5 {
	font-size: 1.5rem;	
}
footer .footer-main .display-6 {
	font-size: 1.1rem;
}
footer .footer-logo {	
	width: 275px;
	display: inline-block;
}
footer .footer-logo img {	
	width: 100%;
	margin-left: -15px;
}
footer .footer-bar {	
	background-color:#1e252a; 
	color: var(--color-white); 
	padding: 12px 0;
	font-size: 0.8rem;
}
footer ul {
	padding-top: 5px;
	margin-bottom: 0px;
}
footer ul li {
	vertical-align: middle;
}
footer a {
	color: var(--color-white); 
	font-size: 1rem;
}
footer a:hover {
	color: #ccc; 
}
footer .footer-sep {
	font-size: 1.2rem;	
	padding: 0 3px;		
	font-family: var(--font);  
	color: #ccc; 
}
footer .footer-copy {
	font-size: 0.7rem;	
}
.no-footer footer {
	display: none;
}


/* responsive
------------------------------------------------------------------------------------------------------  */





@media (max-width: 1200px) {
	
	header .navbar .nav-link {
		line-height: 1.2rem;		
	}
				
}

@media (max-width: 767px) {
	
	header .navbar .nav-item.profile {
		margin-left: 10px;
	}
	header .navbar .nav-item.profile .nav-link {
		font-size: 1.1rem;	
		margin-top: 0;		
	} 	
	header .navbar .nav-item.profile .nav-link span {
		display: none;		
	} 	
			
}




