.gcheck{
	padding: 2px;
	height: 30px;
	line-height: 30px;
}

.gcheck input[type="checkbox"] {
	display: none;
}

.gcheck label{
	color: #575757;
	padding-left: 0px;
	padding-top: 0px;
	cursor: pointer;
}

/* Base for label styling */
.gcheck [type="checkbox"]:not(:checked),
.gcheck [type="checkbox"]:checked {
  position: absolute;
}
.gcheck [type="checkbox"]:not(:checked) + label.displayLabelRight,
.gcheck [type="checkbox"]:checked + label.displayLabelRight {
	position: relative;
	padding-left: 32px;
	cursor: pointer;
	line-height: 30px;
	padding-top: 0;
}

/* checkbox aspect */
.gcheck [type="checkbox"]:not(:checked) + label.displayLabelRight:before,
.gcheck [type="checkbox"]:checked + label.displayLabelRight:before {
	content: '';
	position: absolute;
	left: 0;
	width: 16px; 
	height: 16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 2px;
	background-color: white;
	top: 4px;
}

/* checked mark aspect */
.gcheck [type="checkbox"]:not(:checked) + label.displayLabelRight:after,
.gcheck [type="checkbox"]:checked + label.displayLabelRight:after {
  content: "";
  position: absolute;
  top: 8px;
  left: 4px;
  font-size: 14px;
  line-height: 1;
  color: #579549;
  
  font-family: 'fontawesome-webfont' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gcheck [type="checkbox"]:checked + label.displayLabelRight:after {
	content: "\f00c";
}


/* checked mark aspect changes */
.gcheck [type="checkbox"]:not(:checked) + label.displayLabelRight:after {
  transform: scale(0);
}

.gcheck [type="checkbox"]:checked + label.displayLabelRight:after {
  opacity: 1;
  transform: scale(1);
}

/* disabled checkbox */
[type="checkbox"]:disabled:not(:checked) + label.displayLabelRight:before,
[type="checkbox"]:disabled:checked + label.displayLabelRight:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}

.gcheck [type="checkbox"]:disabled:checked + label.displayLabelRight:after {
  color: #999;
}

.gcheck [type="checkbox"]:disabled + label.displayLabelRight {
  color: #aaa;
}

/* accessibility */
.gcheck [type="checkbox"]:checked:focus + label.displayLabelRight:before,
.gcheck [type="checkbox"]:not(:checked):focus + label.displayLabelRight:before {
  border: 1px dotted blue;
}

/* hover style just for information */
.gcheck label.displayLabelRight:hover:before {
  border: 1px solid #4778d9;
}

/*Checkbox on the right side*/
.gcheck div.flatLabelCheckDisRight {
	float: right;
    display: inline-block;
  	width: 16px; height: 16px;
  	border: 1px solid #ccc;
  	content: '';
    border-radius: 4px;
    padding: 2px 3.5px 2px 0.5px;
    color: #579549;
    line-height: 1;
    color: #579549;
    font-size: 9px;
    margin-left: 5px;
    margin-top: 3px;
    background:white;
}

.gcheck [type="checkbox"]:checked + label div.flatLabelCheckDisRight:before {
	content: "\f00c";
	display: block;	
	font-size: 12px;
	margin-top: 3px;
	margin-left: 3px;
	
		font-family: 'fontawesome-webfont' !important;
	    speak: none;
	    font-style: normal;
	    font-weight: normal;
	    font-variant: normal;
	    text-transform: none;
	    line-height: 1;
	    -webkit-font-smoothing: antialiased;
	    -moz-osx-font-smoothing: grayscale;
}

/* disabled checkbox */
[type="checkbox"]:disabled:not(:checked) + label div.flatLabelCheckDisRight,
[type="checkbox"]:disabled:checked + label div.flatLabelCheckDisRight {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
  color: #999;
}

