

* {
  padding: 0;
	margin : 0;
	font-size:1em;
	font-weight:inherit;
	text-decoration:none;
	color:inherit;
	box-sizing:border-box;
}

a {color:inherit; text-decoration:none;}

a, input[type=submit] {
	transition: color 0.2s, background-color 0.2s;
}


.show-pointer, a, input.submit, .btn, select {
	cursor: pointer;
}

.btn {
    display:inline-block;
    border:none;
    border-radius: 0;
	  padding:0.9rem 2rem;
	  margin-right:2rem;
    margin-bottom:1.5rem;
	  text-align:center;
}
input.btn {
	padding-top:0.5rem;
	width:100%;
}

.msg {
	width:100%;
}

input.btn + .msg {
 position:relative;
  top:-0.8rem;
}

.underline-none {
	text-decoration: none !important;
}

input, select, textarea, input.mat-input-element, textarea {
    border-width:1px;
    border-style: solid;
}
textarea {height:8rem;}

.tag {
	width:100%; 
	display:block;
	padding:0.5rem;
	margin-bottom:0.5rem;
}

.rounded, .btn, input, select, textarea, .tag  {
	border-radius:0.25rem;
}


.shadow {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.39);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.39);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.39);
}

label {
	font-weight:bold;
}


li {
	list-style-type:none;
	margin-bottom:0.5rem;
}

/************************************ FORM ELEMENTS ***************************************/
input[type=text], input[type=submit], input[type=password] {
	-webkit-appearance: none;
	-moz-appearance: none;
	height:2.8rem;
	display:inline-block;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	height:2.8rem;
	display:inline-block;
}
input, input.mat-input-element {
	padding:0rem 0.5rem 0rem 0.5rem;
}
textarea {
	padding:0.5rem 0.5rem 0.5rem 0.5rem;
}
select {
	padding:0.4em 0.3em;
}
input:focus {
	outline-width: 0;
}
select::-ms-expand {
    display: none;
}
input[type=submit] {
	border:none;
	padding:0 0.9rem;
}


div.disabled, label.disabled {opacity:0.4;}


/************************************ HELPERS ***************************************/

.d-flex, .line, .field, .tag  {
 	display: -ms-flexbox;
 	display: -webkit-flex;
 	display: flex;
	width:100%;

	-webkit-box-align:start;
 	-ms-flex-align:start;
	-ms-grid-row-align:flex-start;
	align-items:flex-start;
}

.d-flex:not(.flex-nowrap), .field {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.d-flex.flex-nowrap, .line {
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}

.d-flex, .menu-bar, .search-bar {
  -ms-flex-pack: start;
   justify-content: flex-start;
}
header, .justify-content-between, .line, .field, .tag  {
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
.justify-content-around  {
	-ms-flex-pack: distribute;
    justify-content: space-around;
}

.justify-content-center {
	-webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.justify-content-end {
	-webkit-box-pack: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
}
.align-items-center, .line, .field  {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-ms-grid-row-align: center;
	align-items: center;
}
.align-items-end {
	align-items:flex-end;
	-webkit-box-align:end;
  -ms-flex-align:end;
	-ms-grid-row-align:flex-end;
	align-items:flex-end;
}
.flex-column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

@media screen and (min-width:768px), screen and (min-width:550px) and (orientation: landscape) {
	.mobile-show {
   display:none !important;
	}

  .desktop-show {
    display:none !important;
  }
}

@media screen and (max-width:768px) and (orientation: portrait), screen and (max-width:550px) {
	.hidden-xs {
   display:none!important;
	}

  .desktop-show {
    display:none !important;
  }
}

@media screen and (min-width:1100px), screen and (min-width:1100px) and (orientation: landscape) {
	.mobile-tablet-show {
   display:none !important;
	}

  .desktop-show {
    display:inherit !important;
  }
}
