:root {
  --on-orange:   #F0AD4E;
  --on-orange30: rgba(240, 173, 78, 0.3);
  --on-blue:     #3071A9;
  --on-blue50:   rgba(48, 113, 169,0.5);
  --on-blue-zebra:   rgba(48, 113, 169,0.05);
}

body {
    background: url(../images/logo_bkg.gif) no-repeat center center;
    background-size: cover;
}

.og-grid {
	list-style: none;
    padding: 20px 0px;
    padding: 7px 0px 21px 0px;
	margin: 0 auto;
	text-align: center;
	/* width: 100%; */
    
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); */
    grid-template-columns: auto auto auto;
    
    grid-column-gap: 0px;
    grid-row-gap: 5px;

    margin-top: 0px;
}

.og-grid li {
	display: inline-block;
	margin: 10px 5px 0 5px;
	vertical-align: top;
	height: 75px;    
}

.og-grid li > a,
.og-grid li > a img,
.og-grid li > a div {
	border: none;
	outline: none;
	display: block;
	position: relative;
    
    width: 80px;
    height: 80px;

	/* color: #47a3da; */
    color: var(--on-blue);
    /* border: 1px solid var(--on-blue); */
	-webkit-transition: background 0.2s;
	-moz-transition: background 0.2s;
    transition: background 0.2s;
    
}

.og-grid li.og-expanded > a::after {
	top: auto;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-bottom-color: #ddd;
	border-width: 15px;
	left: 50%;
	margin: -20px 0 0 -15px;
}









.og-grid li > a {
    display: block;
    text-decoration: none;
    /*
	height: 100%;        
    color: #47a3da;
    */
	-webkit-transition: background 0.2s;
	-moz-transition: background 0.2s;
	transition: background 0.2s;
}


.module-icon {
    margin: auto;
	display: block;
	-webkit-transition: -webkit-transform 0.2s;
	transition: -moz-transform 0.2s;
	transition: transform 0.2s;
    fill: var(--on-blue);
}

/* ICONE */
.module-icon:before { 
	font-size: 2em;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 2;
	-webkit-font-smoothing: antialiased;
    fill: var(--on-blue);
}


.og-grid .module-title {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	font-size: 0.8em;
	font-weight: 700;
	position: relative;
	-webkit-transition: -webkit-transform 0.2s;
	-moz-transition: -moz-transform 0.2s;
    transition: transform 0.2s;
}

.og-grid .module-title:before {
	content: '';
	position: absolute;
	background: var(--on-orange);
	width: 60px;
	height: 2px;
	top: -8px;
	left: 10px;
    margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	-webkit-transition: margin-top 0.2s; 
	-moz-transition: margin-top 0.2s;
    transition: margin-top 0.2s;
}

.og-grid .module-category {
	/* text-transform: uppercase; */
	display: inline-block;
	font-size: 0.7em;
	/* letter-spacing: 1px; */
	color: #FFF;
	-webkit-transform: translateY(1px);
	-moz-transform: -moz-translateY(1px);
	-ms-transform: -ms-translateY(1px);
	transform: translateY(1px);
	opacity: 0;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.2s;
	-moz-transition: -moz-transform 0.3s, opacity 0.2s;
	-webkit-transition: transform 0.3s, opacity 0.2s;
    
    position: absolute;
    top: -10px;
    margin-left: -4.50px;
}

.og-grid li:hover .module-category,
.touch .og-grid li .module-category {
	opacity: 1;
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
	-ms-transform: translateY(10px);
	transform: translateY(10px);
}

.og-grid li > a div:not(.icon-login) {
    background-color: #ECECEC;
    border-radius: 5px;
}

/* Hover styles */

.og-grid li > a:hover div:not(.icon-login) {
	/* background-color: #47a3da; */
	background-color: var(--on-blue);
}

.og-grid li > a:hover .module-icon {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	-ms-transform: translateY(8px);
	transform: translateY(8px);
    fill: #fff;
}

.og-grid li > a:hover .module-icon:before,
.og-grid li > a:hover .module-title {
	color: #fff;
    fill: #fff;
}

.og-grid li > a:hover .module-title {
	-webkit-transform: translateY(-5px);
	-moz-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
}

.og-grid li > a:hover .module-title:before {
	background: #fff;
	margin-top: 30px;
}

.module-icon > svg{
   width: 33px;
   height: 57px;
}












.og-grid li > a .icon-login {
    display: block;
    position: relative;
    top: -80px;
    left: 51px;
    width: 30px;
    height: 30px;
    background: none;
    background-color: transparent;
    
    -webkit-transition: -webkit-transform 0.2s;
	transition: -moz-transform 0.2s;
    transition: transform 0.2s;
    
    /* fill: var(--on-blue); */
    color: #98b8d4;
}

.og-grid li > a:hover .icon-login {
	-webkit-transform: translateY(13px);
	-moz-transform: translateY(13px);
	-ms-transform: translateY(13px);
    transform: translateY(13px);
    color: #fff;
    fill: #fff;
}

.og-grid li > a:hover .icon-login:before {
	color: #fff;
    fill: #fff;
}


.title-card-login {
    font-size: 2.5rem;
    color: rgba(0,0,0,0.05);
}

.isinvalid {
    height: 25px;
    margin-top: -3px;
    margin-bottom: 10px;
    text-align: left;
}
.erro {
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #f86c6b;
}
.btn-do-login {
    width: 50%;
}
.logos-ipvc {
    width: auto;
    bottom: -75px;
    position: absolute;
    right: -22px;
    margin-left: auto;
    margin-right: auto;
    -ms-transform: scale(0.7); /* IE 9 */
    -webkit-transform: scale(0.7); /* Safari */
    transform: scale(0.7);
}
.btn-toolbar {
	float: right;
}
.btn-lang {
	font-size: 10px;
	width: 40px;
}
.btn-toolbar .btn-group .dropdown-menu {
	width: 60px !important;
	min-width: 60px;
}












.og-expander-inner ul,
.og-expander-inner li {
    margin-left: -40px;
    list-style-type: none;
}
.og-expander-inner li > ul > li{
    display: inline-grid;
    
    
    font-weight: bold;
    color: var(--on-blue);
    background-color: #ECECEC;
    border-radius: 2px;
    /* border: 1px solid var(--on-blue); */
	-webkit-transition: background 0.2s;
	-moz-transition: background 0.2s;
	transition: background 0.2s;
    
    margin: 2px 2px 2px 0px;
    padding: 2px 10px 2px 10px;
    
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    transition: 0.2s;
}
.og-expander-inner li > ul > li:hover {
    cursor: pointer;
    background-color: var(--on-blue);
    color: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}


.og-expander-inner li {
    display: block;
    margin: 0px 0px 10px 0px;
    height: auto;
    line-height: 21px;
    
    list-style:none;
    background-image:none;
    background-repeat:none;
    background-position:0;
}

/*
@media screen and (max-width: 329px) { 
    .og-grid li > a,
    .og-grid li > a img,
    .og-grid li > a div {
		width: 100%;
	}
    
    .og-grid .module-title:before {
        display: none;
    }
    
    .og-grid .module-title:before {
        display: none;
    }
    
    .og-grid .module-title {
        font-size: 1.0rem;
        font-weight: 600;
        margin-top: -5px;
    }
    
    .module-icon:before {
        line-height: 1.7;
        font-size: 4em;
    }
    
    .module-icon > svg{
       width: 60px;
       height: 90px;
    }
}
*/

.card-group .card {
	min-width: 272px;
}
@media screen and (max-width: 768px) {
	.card-group > .card:not(:first-child),
	.card-group .card.card-login {
		border: 1px solid #cad4dc;
		border-radius: .25rem;
	}
}

@media screen and (max-width: 576px) {
	body {
		margin-top: 10px;
		margin-bottom: 30px;
	}
	.title-card-login {
		font-size: 8vw;
		color: rgba(0,0,0,0.1);
	}
}

.card-header.login-left {
    padding: 0.35rem 1.25rem;
    font-size: 10px;
    text-transform: uppercase;
    color: #90999e;
}

.card-header.close-right {
	width: 50px;
	float: right;
	text-align: right;
	height: 46px;
	position: absolute;
	top: 0px;
	right: 0px;
}

.field-icon {
	float: right;
	margin-left: -25px;
	margin-top: 11px;
	position: relative;
	z-index: 20;
	color: rgba(144, 153, 158, 0.5);
	padding-right: 25px;
	cursor: pointer;
}

.field-icon2 {
	float: right;
	margin-left: -65px;
	margin-right: 40px;
	margin-top: 11px;
	position: relative;
	z-index: 20;
	color: rgba(144, 153, 158, 0.5);
	padding-right: 25px;
	cursor: pointer;
}

.popover-body {
	padding-left: 24px;
}












































.og-expander {
	position: absolute;
	background: #ddd;
	top: auto;
	left: 0;
	width: 100%;
	margin-top: 10px;
	text-align: left;
	height: 0;
	overflow: hidden;
    border-radius: 10px;
}

.og-expander-inner {
	padding: 25px 15px 5px 15px;
	height: 100%;
}



.og-close {
	position: absolute;
    /*
    width: 20px;
	height: 20px;
    */
	top: 0px;
	right: 30px;
	cursor: pointer;
    z-index: 1000;
    
}

.og-close::before,
.og-close::after {
    font-family: Font Awesome\ 5 Free;
	content: '\f057';
	position: absolute;
	width: 100%;
	top: 50%;
    font-size: 25px;
    color: var(--on-blue50);
	/* height: 1px;
	background: #888;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
    z-index: 1000;
    */
    transition: .3s transform ease-in-out; 
}

.og-close::after {
    /*
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
    */
}

.og-close:hover::before,
.og-close:hover::after {
    color: var(--on-blue);
}

.og-fullimg,
.og-details {
	width: 100%;
	float: left;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.og-details {
	padding: 1px 20px 0 10px;
}

.og-fullimg {
	text-align: center;
}

.og-fullimg img {
	display: inline-block;
	max-height: 100%;
	max-width: 100%;
}

.og-details h3 {
	font-weight: 300;
	font-size: 12px;
	padding: 0px 0 10px;
    margin-top: -5px;
	margin-bottom: 10px;
}

.og-details p {
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	color: #999;
}

.og-details a {
	font-weight: 700;
	font-size: 16px;
	color: #333;
	padding: 1px 2px;
	border: 3px solid #333;
	display: inline-block;
	margin: 30px 0 0;
	outline: none;
    text-decoration: none;
}

.og-details a::before {
	content: '\2192';
	display: inline-block;
	margin-right: 10px;
}

.og-details a:hover {
	border-color: #999;
	color: #999;
}

.og-loading {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ddd;
	box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	-webkit-animation: loader 0.5s infinite ease-in-out both;
	-moz-animation: loader 0.5s infinite ease-in-out both;
	animation: loader 0.5s infinite ease-in-out both;
}

@-webkit-keyframes loader {
	0% { background: #ddd; }
	33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
	66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}

@-moz-keyframes loader {
	0% { background: #ddd; }
	33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
	66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}

@keyframes loader {
	0% { background: #ddd; }
	33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
	66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}

@media screen and (max-width: 830px) {
    
    /*
    
	.og-expander h3 { font-size: 32px; }
	.og-expander p { font-size: 13px; }
	.og-expander a { font-size: 12px; }
    
    */

}

@media screen and (max-width: 650px) {

	.og-fullimg { display: none; }
	.og-details { float: none; width: 100%; }
	
}







