@charset "UTF-8";

/* Font Maven Pro*/
@import url('typography.css');

/* Material Design Icons */
@import url('//cdn.materialdesignicons.com/2.3.54/css/materialdesignicons.min.css');


@import url('switch.css');


/*variables ***************************************************************/

	
:root {
		
		--font: 'Maven Pro';
		--heading-font: 'Maven Pro';

		/*Other*/

		--mdi: "Material Design Icons";
	
		--md-light: #F1F1F3;
	
		--text: #6F7086;
		--text-dark: #242330;
	
	
		--text-light: rgba(111,112,134,0.40);
		--text-lighter: rgba(111,112,134,0.30);
	

		--warning: #FEBA4D;
		--success: #4BCA81;
		--error: #E1203A;
	
}


*{
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

*:focus,
*:active,
*:focus:before,
*:active:before,
*:focus:after,
*:active:after{
	outline: 0 !important;
}


input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: var(--text-light) !important;
}
input::-moz-placeholder { /* Firefox 19+ */
  color: var(--text-light) !important;
}
input:-ms-input-placeholder { /* IE 10+ */
  color: var(--text-light) !important;
}
input:-moz-placeholder { /* Firefox 18- */
  color: var(--text-light) !important;
}

/*Reset UL margin & padding*/
ul{
	margin: 0;
	padding: 0;
	list-style: none;
}


input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: searchfield-cancel-button;
	text-overflow: ellipsis
}

html{
	height: 100%;
	font-size: 16px;
	line-height: 1em;
}

body{
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.556em;
	color: var(--text);
}

b{
	font-weight: 500;
}

strong{
	font-weight: 600;
}


/*Loader************************************************************/

.loader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--end-color);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    -moz-perspective: 1000;
    -ms-perspective: 1000;
}

.load-spin {
    position: relative;
    width: 80px;
    height: 80px;
}

.loaded {
    animation: endload .5s ease forwards .5s;
}

.circular {
  -webkit-animation: rotate .8s linear infinite;
          animation: rotate .8s linear infinite;
	  -webkit-transform-origin: center center;
          transform-origin: center center;
  height: 100%;
  width: 100%;
	
-webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
   -ms-backface-visibility: hidden;
   backface-visibility: hidden;

   -webkit-perspective: 1000;
   -moz-perspective: 1000;
   -ms-perspective: 1000;
   perspective: 1000;
}

.path {
  stroke-dasharray: 80;
  -webkit-animation: color 4s ease-in-out infinite;
          animation: color 4s ease-in-out infinite;
	
  stroke-linecap: round;
		
-webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
   -ms-backface-visibility: hidden;
   backface-visibility: hidden;

   -webkit-perspective: 1000;
   -moz-perspective: 1000;
   -ms-perspective: 1000;
   perspective: 1000;
	
	-webkit-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}


@keyframes endload{
	from{
		opacity: 1;
	}
	to{
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes rotate {
  100% {
    -webkit-transform: rotate3d(0,0,1,360deg);
            transform: rotate3d(0,0,1,360deg);
  }

}

@keyframes color {
  100%,
  0% {
    stroke: #FF4E40;
  }
  40% {
    stroke: #4188FF;
  }
  66% {
    stroke: #39E590;
  }
  80%,
  90% {
    stroke: #FFC14C;
  }
}

/*Custom buttons*/

/*Button circle*/


.btn-circle{
	width: 32px;
	height: 32px;
	text-align: center;
	font-size: 16px;
	line-height: 30px;
	border-radius: 30px;
	background: none;
	color: var(--text);
	opacity: .6;
	cursor: pointer;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	border: 0;
}

.btn-circle:focus{
	opacity: 1;
	background: var(--primary-color);
	color: var(--text-invert);
	border: 0;
}

/*Typography *******************************************************/


/*Text Colors*/

.text-primary{
	color: var(--primary-color) !important;
}

.text-secondary{
	color: var(--secondary-color) !important;
}

.text-default{
	color: var(--text) !important;
}

.text-start{
	color: var(--start-color) !important;
}

.text-end{
	color: var(--end-color) !important;
}

/*Heading*/

h1,
h2,
h3,
h4,
h5{
	font-weight: 300;	
	color: var(--text-dark);
	font-family: var(--heading-font);
}

h1{
	font-size: 2.625em; /*42px*/
	font-weight: 200;	
}

h2{
	font-size: 2.000em; /*32px*/
}

h3{
	font-size: 1.625em; /*26px*/
}

h4{
	font-size: 1.375em; /*22px*/
}

h5{
	font-size: 1.125em; /*18px*/
}


h6{
	font-weight: 600;
	font-family: var(--font);
	text-transform: uppercase;
	color: var(--text-light);
	font-size: 0.875em /*14px*/
}

p{
	font-size: 1em;
	line-height: 1.625em; /*26px*/
	color: var(--text);
}



.color-primary{color: var(--secondary-color)}
.color-secondary{color: var(--secondary-color)}


/*Login *******************************************************/


.login{
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100vw;
	height: 100vh;
	position: relative;
}

.login .img-container{
	position: relative;
	box-shadow: 2px 0 12px rgba(0,0,0,.1), 0 0 48px rgba(0,0,0,.12);
}


.login .img-container .logo{
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	max-width:170px;
	max-height: 170px;
	width: 55%;
	height: 55%;
	position: absolute;
	z-index: 2;
	left:0;
	top:0;
	right:0;
	bottom: 0;
	margin: auto;
}

.login .img-container .logo:after{
	content: attr(data-slogan);
	font-size: 0.813em;
	color: var(--text-invert);
	opacity: .4;
	position: absolute;
	bottom: -2.5em;
	left:50%;
	-webkit-transform: translatex(-50%);
	-ms-transform: translatex(-50%);
	-o-transform: translatex(-50%);
	transform: translatex(-50%);
	text-align: center;
	white-space: nowrap;
}

.login .img-container:before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top:0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: inherit;
	filter:grayscale();
}

.login .img-container:after{
	content: '';
	display: block;
	background-image: -webkit-linear-gradient(bottom left, var(--start-img-color) 0%, var(--end-img-color) 100%);
	background-image: -o-linear-gradient(bottom left, var(--start-img-color) 0%, var(--end-img-color) 100%);
	background-image: linear-gradient(to top right, var(--start-img-color) 0%, var(--end-img-color) 100%);
	position: absolute;
	opacity: .9;
	left: 0;
	top:0;
	width: 100%;
	height: 100%;
}

.login .login-form{
	background-image: -webkit-linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	background-image: -o-linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	background-image: linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	display: flex;
  align-items: center;
  justify-content: center;
	padding: 0 4em
}

.login .login-form p{
	opacity: .8
}

.login .login-form .form-container{
	max-width: 460px;
	width: 100%;
}

.login .login-form h1,
.login .login-form p{
	color: var(--menu-text);
}


.login .login-form form{
	margin-top: 5em;
}


.login .login-form label{
	display: block;
	position: relative;
}

.login .login-form label:hover:before{
	opacity: 1
}

.login .login-form input{
	background: none;
	padding: 0 0 .4em 0;
	border: none;
	box-shadow: 0 1px 0 var(--primary-color);
	color: var(--menu-text);
	font-size: 1em; /*16px*/
	margin-bottom: 2em;
	width: calc(100% - 28px - 1em);
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.login .login-form input:focus{
	opacity: 1
}

.login .login-form input:focus:invalid{
	box-shadow: 0 2px 0 var(--danger);
}

.login .login-form input:focus:valid{
	box-shadow: 0 2px 0 var(--success);
}

.login .login-form label:before{
	margin-right: 1rem;
	font-size: 24px;
	color: var(--menu-text);
	opacity: .5;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.login .login-form .password-recovery{
	color: var(--menu-text);
}

.login .login-form .password-recovery:after{
	content: '\f625';
	font-family: var(--mdi);
	font-size: 24px;
	opacity: .5;
	position: absolute;
	right: 0;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.login .login-form .password-recovery:hover:after{
	opacity: 1;
}

.login .login-form a{
	color: var(--highlight);
}

.login .login-form .cadastro{
	margin-top: 3em
}

@media (max-width:1024px){
	
	.login{
		grid-template-columns: 1fr;
		grid-template-rows: minmax(180px,30%) 1fr;
	}
	
	.login .login-form{
		padding: 1em 2em;
	}
	
	.login .img-container .logo{
		top:-1.5em
	}
	
	.login .login-form .form-container{
		padding-top: 0
	}
	
	.login .login-form .form-container h1{
		font-size: 1.8em
	}
	
	.login .login-form .form-container form{
		margin-top: 2em
	}
	
	.login .login-form .cadastro{
		margin-top: 2em
	}
	
}




/*Header *******************************************************/


/****************
Menu 
*****************/

header{
	position: fixed;
	width: 100%;
	top:0;
	left: 0;
	z-index: 99;
	background-color: #fff;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}

header.scroll{
	box-shadow: 0 0 8px rgba(0,0,0,.06), 0 0 42px rgba(0,0,0,.05);
}


header .menu{
	padding-top: 11.250em; /*180px*/
	position: absolute;
	height: 100vh;
	top: 0;
	overflow: hidden;
	z-index: 2;
	background-image: -webkit-linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	background-image: -o-linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	background-image: linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
	width: 100%;
	max-width: 56px;
}

header .menu .panel-group span{
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}

header .menu .logo{
	width: 85%;
	height: 4.750em; /*76px*/
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 5.000em; /*80px*/
	left:50%;	
	cursor: pointer;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}

.menu .panel-title a:after{
	opacity: 0;
	visibility: hidden;
}

#btn-menu ~ .menu .badge{
	opacity: 0;
	visibility: hidden;
	webkit-transition: unset;
	-o-transition: unset;
	transition: unset;
}

#btn-menu{display: none}

#btn-menu-label{
	display: block;
	width: 32px;
	height: 32px;
	position: fixed;
	top: 1.5em;
	left: .7em;
	z-index: 3;
	text-align: center;
	line-height: 32px;
	cursor: pointer;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
	color: var(--menu-text);
}

#btn-menu-label:before{
	content: "\f35c";
	font-family: var(--mdi);
	font-size: 24px;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}

#btn-menu:checked + label:before{
	content: "\f5ad";
	color: var(--menu-text);
}

#btn-menu:checked + label{
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}

#btn-menu:checked ~ .menu{
	max-width: 250px;
	box-shadow: 0 0 62px rgba(0,0,0,.15),0 0 12px rgba(0,0,0,.1);
}

#btn-menu:checked ~ .menu .badge{
	opacity: 1;
	visibility: visible;
	webkit-transition: .3s ease .5s;
	-o-transition: .3s ease .5s;
	transition: .3s ease .5s;
}



#btn-menu:checked ~ .menu .panel-title a:after{
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity .3s ease .5s, transform .3s ease 0;
	-o-transition: opacity .3s ease .5s, transform .3s ease;
	transition: opacity .3s ease .5s, transform .3s ease;
}


header .menu a{
	color: var(--menu-text);
	font-size: 0.875em; /*14px*/
	text-decoration: none;
	display: block;
	white-space: nowrap;
}

header .menu a span{
	opacity: 0;
	visibility: hidden
}

#btn-menu:checked ~ .menu a span{
	opacity: 01;
	visibility: visible
}

@keyframes enter-menu{
	from{opacity: 0;}
	to{opacity: 1;}
}


/*Menu icons*/

header .menu a i.mdi{
	font-size: 24px;
	width: 24px;
	text-align: center;
	margin-right: .5em;
	vertical-align: middle;
	line-height: 0
}

header .menu a i.mdi:before{
	line-height: 0
}



/*Header Profile*/

header .profile-menu{
	padding: 1em 2em;
	text-align: right;
}

header .profile{
	border:1px solid rgba(111,112,134,0.20);
	height: 48px;
	padding: 2px 1em 2px 2px;
	border-radius: 60px;
	font-size: 0.875em; /*14px*/
	display: inline-grid;
	grid-template-columns: 48px calc(100% - 48px);
	align-content: space-evenly;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	max-width: 250px;
	width: 55%;
	min-width: 170px
}

header .profile:hover,
header .power:hover{
	border:1px solid rgba(111,112,134,0.6);
	color: var(--text);
}

header .profile:hover .dropdown > a{
	color: var(--text);
}

header .profile .avatar{
	width: 42px;
	height: 42px;
	border-radius: 42px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

header .profile .dropdown{
	display: flex;
	align-items: center;
	padding: 0 .5em;
}

header .profile .dropdown-menu{
	margin-top: 1em;
	margin-right: -1.5em;
}

header .power{
	display: inline-block;
	vertical-align: top;
	height: 48px;
	width: 48px;
	border-radius: 60px;
	border:1px solid rgba(111,112,134,0.20);
	line-height: 48px;
	text-align: center;
	color: var(--text-light);
	webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

header .power:before{
	font-size: 24px;
}

header .profile .dropdown > a{
	position: relative;
	padding-right: 2em;
	text-align: left;
} 

header .profile .dropdown-toggle::after{
	margin-left: 1em;
	border-top: .4em solid;
	border-right: .4em solid transparent;
	border-bottom: 0;
	border-left: .4em solid transparent;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}



/*Main Content*/

main{
	padding: 9em 2em 4em 5em;
}

.btn-back{
	position: absolute;
	top:2em;
	left: 7em;
	z-index: 1;
	color: var(--text-light);
	font-size: 0.813em;
}

.btn-back:hover{
	color: var(--text-light);
}

.btn-back:before{
	color: var(--secondary-color);
	font-size: 24px;
	vertical-align: -.2em;
	margin-right: .5em;
}

.btn-back:after{
	content: attr(data-text);
}


h2.title{
	width: 100%;
	max-width: 460px;
}

main p{
	font-weight: 300;
}

.filter-bar{
	padding: 1em 0;
	margin-top: 1em
}

.filter-bar .mdi:before{
	font-size: 24px;
	vertical-align: -.1em;
	margin-right: .4em
}

.filter-item{
	display: inline-block;
	line-height: 24px;
	margin-right: 1.5em;
	font-size: 0.875em /*14px*/;
}

.filter-item:last-child{
	margin: 0;
}

.filter-item:hover{
	color: var(--primary-color) !important;
	text-decoration: none
}

.filter-bar .label-select{
	position: relative;
	font-size: 0.875em /*14px*/;
	cursor: pointer
}

.filter-bar .label-select:before{
	position: absolute;
	left: 0;
	pointer-events: none;
	color:var(--gray);
}

.filter-bar .label-select:after{
	content: '\f35d';
	font-family: var(--mdi);
	font-size: 24px;
	vertical-align: -.2em;
	color:var(--gray);
}

.filter-bar .label-select select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	color: var(--gray);
	border: 0;
	font-size: 1em;
	padding-left: 2.2em;
	cursor: pointer
}

.filter-bar .label-select:hover select,
.filter-bar .label-select:hover:before{
	color: var(--primary-color)
}


@media (max-width:560px){
	.btn-back:after{
		content: "";
	}
}

@media (max-width:360px){
	.btn-back{
		display: none
	}
}


/*Mailing List*/


.list-wrapper{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(245px,1fr));
	grid-gap: 1em;
	align-items: stretch;
	justify-content: start;
	margin-top: 2em
}

.list-wrapper .item{
	position: relative;
	font-size: 0.813em;
	border-radius: 8px;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
	padding: 1em;
	margin: .5em 0;
}

.list-wrapper .item.template{
	cursor: pointer
}

.list-wrapper .item.template:hover{
	box-shadow: 0 2px 20px -2px rgba(111,112,134,0.1), 0 16px 42px -6px rgba(111,112,134,0.16);
}

.list-wrapper .item .btn-tools{
	position: absolute;
	right: 1em;
	top: 1em;
	z-index: 2;
}

.list-wrapper .item.paused{
	opacity: .5
}

.list-wrapper .item.onHold span:not(.mdi-calendar-clock),
.list-wrapper .item.waiting span:not(.mdi-calendar-clock):not(.mdi-telegram){
	opacity: .5
}


.list-wrapper .item .chart{
	height: 200px;
	margin-bottom: 1em
}

.list-wrapper .item .chart img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.list-wrapper .item .title{
	color: var(--text-dark);
	padding: 0 1em;
	line-height: 2.5em;
	background: var(--md-light);
	border-radius: 3px;
}


.list-wrapper .item .details{
	
}

.list-wrapper .item .details li{
	padding: .7em 0;
	border-bottom: 2px solid var(--md-light);
	white-space: nowrap
}

.list-wrapper .item .details li:last-child{
	border:none
}


.list-wrapper .item .details span{
	color: var(--gray);
	margin-right: 1em
}
.list-wrapper .item .details span:last-child{
	margin: 0
}

.list-wrapper .item .details span:before{
	margin-right: .4em;
	font-size: 20px;
	vertical-align: -0.15em;
	opacity: .5;
}

/*Empty State*/

.empty-state{
	text-align: center;
}

.empty-state .illustration{
	width: 80%;
	height: 246px;
	background: url(../img/empty_state.png) no-repeat center / contain;
	max-width: 230px;
	margin: 3em auto;
	position: relative
}

.empty-state ul{
	display: grid;
	grid-template-columns: repeat(3, minmax(100px, 230px));
	justify-content: center;
}

.empty-state li{
	position: relative
}

.empty-state li:after{
	content: '';
	display: block;
	width: 50%;
	height: 4px;
	border-radius: 4px;
	position: absolute;
	right: -25%;
	background-color: var(--text);
	top: 1.2em;
}


.empty-state li:last-child:after{
	display: none
}

.empty-state .mdi{
	width: 46px;
	height: 46px;
	border-radius: 46px;
	background-color: var(--primary-color);
	text-align: center;
	margin: 0 auto 1em;
	color: var(--menu-text);
}

.empty-state .mdi:before{
	font-size: 24px;
	line-height: 46px;
	opacity: .5;
}



@media (max-width:360px){
	
	.empty-state ul{
		grid-template-columns: repeat(1, minmax(100px, 230px));
		grid-gap: 2em;
	}
	
	.empty-state li:after{
		display: none
	}
	
}


/***********************************************************
Campanha
***********************************************************/

.campanha{
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 100vh;
	width: 100vw;
	padding-right:0;
	padding-bottom:0;
	padding-top:6em;
}

.title-campanha{
	color: var(--text-dark);
	display: inline-block;
}

.title-campanha:after{
	content: '\f3eb';
	font-family: var(--mdi);
	font-size: 24px;
	color: var(--text-light);
	margin-left: .5em;
	opacity: .5;
}

.form-side{
	padding-right: 2em;
	padding-bottom: 1.5em;
}

.chart-side{
	background-image: -webkit-linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	background-image: -o-linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	background-image: linear-gradient(var(--start-color) 0%, var(--end-color) 100%);
	border-top-left-radius: .5em;
	padding: 2em 1.5em 1.5em 1.5em;
	position: relative;
}

.chart-side h4{
	color: var(--menu-text);
}

.chart-side .chart-pie{
	width: 100%;
	height: 50%;
	min-height: 300px;
}

.chart-side .chart-line{
	width: calc(100% - 3em);
	height: calc(45% - 5em);
	margin-top: 2em;
	min-height: 250px;
	position: absolute;
	bottom: 1em;
}

.chart-side .chart-line:before{
	content: attr(data-text);
	color: var(--menu-text);
	display: block;
	position: relative;
	top:-1em;
}


.campanha form{
	font-size: 0.875em; /*15px*/
}

@media (max-width:960px){
	.campanha{
		grid-template-columns: 1fr;
		grid-template-rows:  1fr 1fr;
		padding: 6em 0 0 5em;
	}
	
	.chart-side{
		margin-left: -1.2em;
		border-radius: 0;
		}
	
}



    


/***********************************************************
Global Media Queries
***********************************************************/


@media (max-width:1023px){
	html{
		font-size: 90%
	}
}

@media (max-width:768px){
	
	header .profile-menu{
		padding: 1em;
	}
	
	main{
		padding: 6em .8em 2em 4em;
	}
}


@media (max-width:320px){
		html{
			font-size: 85%
		}
}
