:root {
    --col1: #30D5C8;
    --col2: #007369;
    --col-dark: #222222;
    --border-col: #ccc;
}
body {
	background: #fff;
	color: #333;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	margin: 0;
	padding: 0;
}
div {
	display: block;
}
button:hover {
	cursor: pointer;
}
a {
	transition: all ease-in-out .3s;
}
a:hover,
a:visited {
	text-decoration: none;
	color: #000;
}
.center {
	text-align: center;
}
.container {
	width: 1024px;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
.container100 {
    width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
.flex-container {
    display: flex;
}
.flex-col-50 {
    width: 50%;
}

.row {
	margin-right: -15px;
    margin-left: -15px;
    overflow: hidden;
}
.row::before, .row::after {
    display: table;
    content: " ";
}
*, ::before, ::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
	float: left;
	position: relative;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
}

.col-1 {
	width: 8.3333%;
}
.col-2 {
	width: 16.6666%;
}
.col-3 {
	width: 25%;
}
.col-4 {
	width: 33.3333%;
}
.col-5 {
	width: 41.6666%;
}
.col-6 {
	width: 50%;
}
.col-7 {
	width: 58.3333%;
}
.col-8 {
	width: 66.6666%;
}
.col-9 {
	width: 75%;
}
.col-10 {
	width: 83.3333%;
}
.col-11 {
	width: 91.6666%;
}
.col-12 {
	width: 100%;
}
.mgnbtm {
	margin-bottom: 120px !important;
	overflow: hidden;
}
.mgnbtmmed {
    margin-bottom: 50px;
    overflow: hidden;
}
.mgnbtmsmll {
    margin-bottom: 25px;
    overflow: hidden;
}

h1, h2 {
	font-weight: bold;
}
h1 {
	font-size: 36px;
}
h2 {
	font-size: 24px;
}

.color1 {
    color: var(--col1);
}
.color2 {
    color: var(--col2);
}

.btn1, .btn2 {
	border: 0;
	padding: 10px 20px;
	border-radius: 15px;
	transition: all ease-in-out .3s;
	color: #fff;
	text-decoration: none;
}
.btn1 {
	background-color: var(--col1);
}
.btn1:hover {
	background-color: var(--col2);
}
.btn2 {
	background-color: var(--col2);
}
.btn2:hover {
	background-color: var(--col1);
}

.flat-button {
    padding: 8px 20px;
    border: 1px solid var(--col-dark);
    color: var(--col-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 15px 15px 0 0;
    cursor: pointer;
    transition: all .5 ease-in-out;
}
.flat-button.active {
	background-color: var(--col-dark);
	color: #fff;
}

button.smallbtn {
	padding: 10px 15px;
	font-size: 11px;
}

button.smallbtn2 {
	padding: 8px;
	font-size: 9px;
	margin-top: 0;
	border-radius: 4px;
}

form {
	width: 100%;
	display: block;
	overflow: hidden;
}
label {
	display: block;
	margin-bottom: 10px;
}
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="date"],
select,
textarea {
	width: 100% !important;
	padding: 12px;
	margin-bottom: 20px;
	border: 1px solid var(--border-col);
	border-radius: 5px;
	font-family: 'Montserrat';
	background-color: #fff;
}

input:focus,
select:focus,
textarea:focus {
  outline: 1px solid var(--col1); /* Darker blue on focus */
}

/* Specific styles for checkbox and radio (they behave slightly differently) */
input[type="checkbox"]:focus,
input[type="radio"]:focus {
  outline: 1px solid var(--col1); /* Green outline for checkboxes/radios */
  outline-offset: 1px;
}
/*.profile_search_bx select {
	text-align: center;
}*/
input[type="submit"], button {
	padding: 10px 25px;
	background-color: var(--col2);
	color: #fff;
	border: none;
	border-radius: 30px;
	margin-top: 20px;
	cursor: pointer;
	transition: all ease-in-out .3s;
	font-weight: bold;
	font-family: 'Montserrat';
}
button.red {
	background-color: red;
}
input[type="submit"]:hover, button:hover {
	background-color: var(--col1);
}
.admin .profile_search_bx.search input[type="text"] {
	padding: 16px 12px;
}
.admin .profile_search_bx.search input[type="submit"], button,
.profile_search_bx.addprofile input[type="submit"], button {
	padding: 10px 25px;
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
}
.admin .profile_search_bx.addprofile label a {
	color: var(--col1);
}
button[disabled] {
  opacity: .5;
  cursor: not-allowed;
}
form .error {
	color: red;
	font-size: 12px;
	font-style: italic;
	display: block;
	margin-top: -10px;
	margin-bottom: 10px;
}
form .success {
	background-color: green;
	color: #fff;
	padding: 5px 10px;
	font-size: 12px;
	font-style: italic;
	display: block;
	margin-top: -10px;
	margin-bottom: 10px;
}

.upload-wrapper {
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.upload-btn {
  background: var(--col1);
  color: white;
  padding: 10px 20px;
  margin: 0 auto 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-family: sans-serif;
  transition: background 0.3s ease;
}

.upload-btn:hover {
  background: var(--col2);
}

.upload-input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
}

.upload-photo-preview {
    display:none; max-width: 200px; margin-top:10px; border-radius:6px; cursor:pointer;
}
.remove-btn {
	position: absolute;
	top: 5px;
	right: 5px;
	background: red;
	color: white;
	border: none;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	font-weight: bold;
	cursor: pointer;
	padding: 0;
	font-size: small;
	display:none;
}

.error-border {
    border: 1px solid red !important;
}
    

.capitalise {
	text-transform: capitalize;
}

.logo {
	width: 200px;
	height: auto;
	margin: 50px auto 70px;
}
.logo img {
	width: 100%;
	height: auto;
}
.mobgreeting, 
.mobiletoggle {
	display: none;
}
.header {
	width: 100%;
	height: 57px;
	background-color: var(--col-dark);
	color: white;
	margin-bottom: 40px;
}
.header p {
	font-style: italic;
	font-weight: bold;
	padding-top: 7px;
}
.header ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.header ul li {
	display: inline-block;
	margin:  0;
	border-left: 1px solid #fff;
	margin-right: -4px;
}
.header ul li:last-child {
	border-right: 1px solid #fff;
}
.header a {
	padding: 20px;
	display: block;
	color: white;
	text-decoration: none;
	text-align: center;
	height: 57px;
}
.header li a:hover,
.header li.active a {
	background-color: var(--col1);
}
.header .logout a {
	background-color: black;
}

.home-flyer {
	height: 100%;
	position: fixed;
  	width: 50%;
}
.home-flyer img {
    max-width:100%;
    height: 100%;
}
.home-text {
	position: absolute;
	padding-top: 30px;
	z-index: 2;
	right: 10%;
	top: 0;
	width: 45%;
	padding: 50px;
}

.attendance-menu {
    list-style: none;
	padding-left: 0;
	margin-top: 10px;
	margin-bottom: 40px;
	text-align: center;
}
.attendance-menu li {
	display: inline;
	padding: 0 15px;
	text-transform: uppercase;
	border-right: 1px solid #ccc;
}
.attendance-menu li:last-child {
    border-right: none;
}
.attendance-menu li.active a{
    color: var(--col1);
    font-weight: bold;
}
.attendance-menu li a:hover{
    color: var(--col2);
}
.attendance-menu li a {
    text-decoration: none;
    color: var(--col-dark);
    transition: .5s;
}
.attendance-menu li a:visited {
    text-decoration: none;
    color: none;
}

.profile_search_bx {
	text-align: center;
}
.admin .profile_search_bx {
	width: 600px;
	margin-left:  auto;
	margin-right: auto;
	height: auto;
	overflow: hidden;
}
.admin .profile_search_bx form {
	width: 100%;
}
.profile_search_bx.search {
	padding: 20px 30px;
	background-color: #fff;
}
.profile_search_bx.addprofile {
	padding: 0 30px;
	text-align: unset;
}
.profile_search_bx h2 {
	color: var(--col1);
}
.profile_search_bx form {
	width: 500px;
	margin: 50px auto 80px;
	height: auto;
	overflow: hidden;

}
.profile_search_bx ::placeholder {
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
}
.profile_search_bx.addprofile ::placeholder {
	text-align: unset;
}

.resultpg {
	padding: 0 0 30px;
}
.resultpg h2 {
	text-align: center;
	margin-bottom: 50px;
}
.searchres {
	list-style: none;
	padding: 0 0 15px 15px;
	margin: 0 auto 20px;
	width: 600px;
	height: auto;
}
.profile .searchres {
	padding: 15px 0 15px 15px;
	margin: 0 auto 10px;
}
.searchres:nth-child(2n+1) {
	background-color: #f1f1f1;
}
.searchres li {
	display: inline-block;
	width: 45%;
}
.searchres li:first-child {
	width: 25%;
}
.searchres li:last-child {
	width: 25%;
}
.profile .searchres li:first-child {
	text-transform: uppercase;
}
.profile .searchres li:last-child {
	font-weight: bold;
	width: 45%;
}
.resultpg .noresult {
	margin: 50px 0 80px;
	text-align: center;
}
.searchres button {
	padding: 10px 15px;
	font-size: 12px;
	font-weight: normal;
	text-transform: capitalize;
}

.profile .profile-thumb, .profile .profile-thumb img {
	width: 100%;
	height: auto;
}
.qr-thumb {
	width: 300px;
	margin: 0 auto;
}
.qr-thumb img {
	width: 300px;
	height: auto;
}

.checked-icon {
	display: block;
	width: 100px;
	margin: 0 auto;
	position: relative;
}
.checked-icon img {
	position: absolute;
	width: 30px;
	height: 30px;
	display: block;
	left: 35px;
	top: -15px;
}
.attendance-result {
	text-align: center;
	margin-bottom: 20px;
}
.attendance-result span {
	color: var(--col1);
	font-size: 18px;
}
.attendance-filter {
	padding: 5px 0;
	list-style: none;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-bottom: 30px;
	margin-top: 20px;
}
.attendance-filter li {
	width: 40%;
	display: inline-block;
	font-weight: bold;
}
.attendance-filter .flter {
	margin-top: -20px;
	vertical-align: middle;
}
.attendance-filter li:last-child {
	width: 60%;
	margin-left: -5px;
}
.attendance-filter ul {
	padding: 0;
	width: 600px;
	float: right;
	text-align: right;
}
.attendance-filter ul li {
	background-color: #ccc;
	padding: 8px 10px;
	width: auto;
	font-size: 12px;
	transition: all ease-in-out .5s;
}
.attendance-filter ul li:first-child {
	width: auto;
}
.attendance-filter ul li:last-child {
	width: auto;
	float: none;
	margin-left: 0;
}
.attendance-filter ul li:hover,
.attendance-filter ul li.active {
	background-color: var(--col1);
	color: white;
	cursor: pointer;
}
.tablerow.hide,
.sn.hide {
	display: none;
}
.tablewrap {
	overflow-x: auto;
	margin-bottom: 50px;
}
.attendance_show_notice {
	display: none;
}
.attendance-table .checked-icon {
	width: 40px;
}
.attendance-table .checked-icon img {
	width: 20px;
	height: 20px;
	left: 10px;
	top: -15px;
}
.attendance-table {
	width: 100%;
	font-size: 13px;
}
.attendance-table th {
	background-color: var(--col1);
	text-transform: uppercase;
	font-weight: bold;
	color: #fff;
	padding: 8px;
	font-size: 13px;
	text-align: left;
}
.attendance-table td {
	padding: 8px;
}
.attendance-table td a {
	text-decoration: none;
	color: black;
	font-weight: bold;
}
.attendance-table td a:hover {
	color: var(--col1);
}
.attendance-table tr.tablerow:nth-child(2n+1) {
	background-color: #f1f1f1;
}
.noaccess {
	width: 500px;
	margin: 100px auto;
	text-align: center;
	font-size: 18px;
}
.noaccess img {
	width: 200px;
	margin: 0 auto 20px;
}
.reportresults {
	list-style: none;
	padding: 0;
	text-align: left;
	margin-top: 70px;
}
.reportresults.attendance {
	margin-top: 30px;
	margin-bottom: 20px;	
}
.reportresults li {
	width: 32%;
	margin-right: 1%;
	display: inline-block;
	position: relative;
	margin-bottom: 25px;
}
.reportresults.guests li {
	width: 24%;
}
.reportresults li::after {
	content: '';
	position: absolute;
	width: 50px;
	height: 1px;
	background-color: var(--col1);
	top: -15px;
	left: 0;
	transition: all ease-in-out .5s;
}
.reportresults li:hover::after {
	width: 120px;
}
.reportresults li:last-child {
	width: 31%;
	margin-right: 0;
}
.reportresults.guests li:last-child {
	width: 22%;
	margin-right: 0;
}

.reportresults.guests li a {
    color: var(--col1);
    text-decoration: none;
}

.iv_wrap {
    width: 70%;
    margin: 0 auto 50px;
}
.iv_wrap img {
    width: 100%;
}
.iv_wrap a {
   text-align: center;
  display: block;
  margin-top: 20px;
} 

.foot_link span {
    margin: auto 7px;
}
.foot_link a {
  color: var(--col1);
  transition: .3s all ease-in-out;
  letter-spacing: 2px;
}

.footer {
	background-color: var(--col-dark);
	padding: 20px 0;
	color: #fff;
	text-align: center;
	margin-top: 100px;
	width: 100%;
	height: auto;
	overflow: hidden;
}

@media screen and (max-width: 1100px) {
	.container {
		width: 90%;
	}
}
@media screen and (max-width: 1023px) {
	.mobiletoggle {
		display: block;
		margin-top: 20px;
		cursor: pointer;
	}
	.mobiletoggle span {
		width: 30px;
		height: 18px;
		display: block;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		position: relative;
		float: left;
		margin-right: 10px;
	}
	.mobiletoggle span::after {
		content: '';
		position: absolute;
		width: 30px;
		height: 1px;
		left: 0;
		top: 6px;
		background-color: #fff;
	}
	.header ul {
		display: none;
	}
	.header ul {
		position: absolute;
		top: 57px;
		width: 250px;
		z-index: 2;
	}
	.header ul li {
		width: 100%;
		border: none;
		background-color: #ccc;
		border-top: 1px solid #f1f1f1;
	}
	.header ul li a {
		padding: 12px 10px;
		color: #333;
		text-align: left;
		height: auto;
	}
	.header li a:hover, .header li.active a {
	  background-color: var(--col1);
	  color: #fff;
	}
	.header ul li:last-child {
		border-right: none;
	}
	.attendance_show_notice {
		display: block;
		text-align: center;
		font-style: italic;
		font-size: 12px;
	}

	
	.home-text {
		width: 50%;
		right: 0;
	}
	.flat-button {
		padding: 8px 15px;
		font-size: smaller;
	}


}

@media screen and (max-width: 851px) {
	.home-text {
		width: 47%;
	}
	.collapseontab  {
		flex-direction: column;
	}
}


@media screen and (max-width: 767px) {
	.container {
		width: 85%;
	}
	.col-sm-3 {
		width: 30%;
	}
	.col-sm-4 {
		width: 33.3333%;
	}
	.col-sm-8 {
		width: 66.6666%;
	}
	.col-sm-9 {
		width: 70%;
	}

	.col-100 {
		width: 100% !important;
		float: none;
	}
	.hide_mob {
		display: none !important;
	}
	.mobgreeting {
		display: block;
		text-align: center;
		margin-bottom: 20px;
	}
	.admin .profile_search_bx,
	.searchres,
	.profile_search_bx form,
	.noaccess {
		width: 85%;
	}
	.attendance-filter .flter {
		margin-top: -20px;
		vertical-align: middle;
	}
	.attendance-filter ul {
		width: 295px;
	}
	.attendance-filter ul li span {
		display: none;
	}
	.attendance-filter ul li:first-child {
	  width: auto;
	}
	.attendance-filter ul li {
		width: auto;
	}
	.attendance-filter ul li:last-child {
		width: auto;
	}

	.flex-col-100-mob {
		width: 100%;
	}
	.home-flyer {
		height: auto;
		position: static;
		width: 100%;
	}
	.home-flyer img {
        height: auto;
    }

	.home-text {
		position: static;
		width: 100%;
		padding: 40px;
	}
	.flex-container {
		flex-direction: column;
	}
	.collapseonsmob  {
		flex-direction: row;
	}

}

@media screen and (max-width: 480px) {
	.container {
		width: 90%;
	}
	.header a {
		padding: 20px 10px;
		font-size: 13px;
	}
	.header .logout a {
		padding: 20px 5px;
		font-size: 12px;
	}
	.header ul li:last-child {
	  border-right: none;
	}
	.logo {
	  margin: 50px auto 30px;
	}	
	.admin .profile_search_bx {
		width: 100%;
	}
	.searchres {
		width: 100%;
	}
	.searchres li {
	  display: inline-block;
	  width: 40%;
	}
	.searchres li:last-child {
		width: 30%;
	}
	.searchres button {
		padding: 10px 8px;
	}
	.profile .searchres li:first-child {
	  width: 35%;
	}
	.profile .searchres li:last-child {
	  width: 60%;
	}
	.admin .profile_search_bx.search input[type="submit"], button, .profile_search_bx.addprofile input[type="submit"], button {
		padding: 13px 20px;
		font-size: 12px;
	}
	.attendance-filter .flter {
		display: none;
	}
	.attendance-filter li:last-child {
	  width: 100%;
	  margin-left: 0;
	}
	.attendance-filter ul {
		width: 295px;
		float: none;
		margin: auto;
	}
	.reportresults li {
		width: 100% !important;
		margin-right: 0;
		margin-top: 30px;
	}
	.reportresults li::after {
		top: -5px;
	}
	.reportresults.attendance {
		text-align: center;
		margin-top: 10px;
	}
	.reportresults.attendance li {
		margin-top: 10px;
	}
	.reportresults.attendance li::after {
		display: none;
	}

	.collapseonsmob  {
		flex-direction: column;
	}
	
	.iv_wrap {
        width: 90%;
    }
}