	
	html, body {
		padding:0 !important;
	}
	
	.text-color {
		color:#111 !important;
	}
	.theme-dark .text-color {
		color:#eee !important;
	}
	
	.documents p {
		margin:0;
		padding:0 5px 5px;
		line-height:130%;
	}
	
	ol {
		padding:0 0 0 20px;
	}
	ol li {
		line-height:150%;
		padding-bottom:5px;
	}
	ol li ol {
		padding:0;
	}
	ol li ol li {
		padding:0;
	}
	ol li span {
		display:block;
		font-weight:600;
	}
	
	
	.select2-selection__rendered {
		line-height: 38px !important;
		color: #fff !important;
		xfont-weight:600;
		font-size:16px !important;
		margin:0 5px !important;
	}
	.select2-container .select2-selection--single {
		height: 38px !important;
		background: linear-gradient(45deg, #c33, #600) !important;
		border:0 !important;
		border-color: #dc3545 !important; /*danger*/
	}
	.theme-light .select2-container .select2-selection--single {
		background: linear-gradient(45deg, #dc3545, #dc3545) !important;
	}
	.select2-selection__arrow {
	   height: 40px !important;
	}
	.select2-container--default .select2-selection--single .select2-selection__arrow b {
	  background-image: url(../../images/arrow.png);
	  background-color: transparent;
	  background-size: contain;
	  border: none !important;
	  height: 16px !important;
	  width: 16px !important;
	  margin: auto !important;
	  top: 9px !important;
	  left: auto !important;
	}
	.theme-dark .select2-results__option {
		background-color: #222 !important;
		border: none !important;
	}
	.theme-dark .select2-container--default .select2-results__option--selected {
	  background: #0066CC !important; 
	  color: #fff !important;
	}
	.theme-dark .select2-dropdown {
	  border-left: 1px solid #444 !important;
	  border-right: 1px solid #444 !important;
	  border-bottom: 1px solid #444 !important;
	}
	
	.defaultSelect .select2-selection__rendered {
		line-height: 36px !important;
		color: #333 !important;
		xfont-weight:600;
		font-size:14px !important;
		margin:0 5px !important;
	}
	.defaultSelect .select2-container .select2-selection--single {
		height: 37px !important;
		background: #fff !important;
		border:0 !important;
		border:1px solid #eee !important;
	}
	.theme-dark .defaultSelect .select2-container .select2-selection--single {
		background: #333 !important;
		border-color:#444 !important;
	}
	.color-theme span.required {
		opacity: .8;
	  	color:#ea5753 !important;
	}
	
	.bg-black {
		background:#222 !important;
	}
	
	.penaltyPoints {
		position:absolute;
		top:-2px;
		right:2px;
		color:#c00;
		font-size:9px;
		font-weight:600;
	}
	.theme-dark .penaltyPoints {
		color: #ffcc00 !important;
	}
	
	b { font-weight:600;}
	.bold {
		font-weight:600;
	}
	
	.hidden {
		display:none;
	}
	
	.green {
		color:green;
	}
	.red {
		color:#ea5753;
	}
	.theme-light .red {
		color:#b00;
	}
	.grey {
		color:#888;
	}
	.blue {
		color: #0066CC;
	}
	.header {
		position: fixed;
		top: 0px;
		left: 0px;
		right: 0px;
		height: 45px;
		height: calc(45px + (constant(safe-area-inset-top))*0.8) !important;
		height: calc(45px + (env(safe-area-inset-top))*0.8) !important;
		z-index: 99;
		transition: all 350ms ease;
		background-color: #FFF;
		border-bottom: solid 1px rgba(0, 0, 0, 0.03);
		box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.2);
		font-size: 16px;
		padding:0 15px;
		line-height:45px;
		font-weight:400;
		text-align:center;
		text-transform:uppercase;
		font-weight:600;
	}
	.header-clear {
	  padding-top: 45px;
	  padding-top: calc(45px + (constant(safe-area-inset-top))*0.8) !important;
	  padding-top: calc(45px + (env(safe-area-inset-top))*0.8) !important;
	}
	.theme-light .main-logo {
  		content: url('../../images/gpt_logo_light.png');
		width:100%;
	}
	.theme-dark .main-logo {
  		content: url('../../images/gpt_logo_dark.png');
		width:100%;
	}
	.marquee {
		position:absolute;
		bottom:0; 
		left:0; 
		right:0; 
		background:rgba(0,0,0,0.5);
		height:33px;
		font-family: Georgia, "Times New Roman", Times, serif;
		font-size:16px;
		font-style: italic;
		white-space:nowrap; 
		overflow:hidden; 
		z-index:1;
		padding:5px 0;
		font-weight:500;
		color:
	}
	.theme-light .marquee {
		background:rgba(255,255,255,0.8);
	}

	.btn.btn-danger {
		border:0 !important;
	}
	.theme-dark .btn.btn-danger {
		background:#CC3333;
		background: linear-gradient(45deg, #c33, #600);
	}
	
	.btn.btn-primary {
		border:0 !important;
	}
	.theme-dark .btn.btn-primary {
		background: #0d6efd;
		background: linear-gradient(45deg, #0d6efd, #036);
	}
	
	.btn.btn-secondary {
		border:0 !important;
	}
	.theme-dark .btn.btn-secondary {
		background:#CC3333;
		background: linear-gradient(45deg, #6c757d, #283139);
	}
	
	.btn.btn-success {
		border:0 !important;
	}
	.theme-dark .btn.btn-success {
		background: #0d6efd;
		background: linear-gradient(45deg, #198754, #031);
	}
	
	.theme-dark .footer-bar-2 .active-nav {
	  background-image: linear-gradient(-135deg, #600, #DA4453);
	  color: #FFF !important;
	}
	.page-content {
	  padding-bottom: 70px;
	  padding-bottom: calc(70px + (constant(safe-area-inset-bottom))*1.1);
	  padding-bottom: calc(70px + (env(safe-area-inset-bottom))*1.1);
	}
	
	
	
	.date-scroller {
      display: flex;
      gap: 6px;
      overflow-x: auto;
      padding: 0px;
      background: #ffffff;
      background: transparent;
      xborder-radius: 12px;
      xbox-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
      cursor: grab;
      user-select: none;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      /* Hide scrollbars */
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    .date-scroller::-webkit-scrollbar {
      display: none;
    }

    .date-scroller.active {
      cursor: grabbing;
      scroll-behavior: auto; /* Disable smooth CSS scroll during active manual dragging */
    }

    .date-card {
      flex: 0 0 50px;
      padding: 10px;
      text-align: center;
      border: 1px solid #e2e8f0;
      border-radius: 5px;
      background: #fff;
      color: #222;
      xtransition: background 0.2s, color 0.2s, border-color 0.2s;
	  line-height:120%;
	  white-space:nowrap;
    }
    .theme-dark .date-card {
      border-color:#555;
      background: #333;
      color: #eee;
    }

    .date-card .day-name {
      font-size: 12px;
      text-transform: uppercase;
      font-weight: 600;
      margin-bottom: 4px;
    }

    .date-card .day-num {
      font-size: 14px;
      font-weight: 700;
    }

    .date-card.today,
    .date-card.selected {
      background: #48f;
      color: #ffffff;
      border-color: #48f;
    }
    .theme-dark .date-card.today,
    .theme-dark .date-card.selected {
      background: linear-gradient(45deg, #48f, #025) !important;
      color: #eee !important;
      border-color: #025 !important;
    }
	
	.my-table {
	  width: 100%;
	  border-collapse: collapse;
	  font-size: 13px;
	  margin-bottom: 0px;
	  border: 0!important;
	  color: #fff;
	  font-family: "Roboto", sans-serif !important;
	  border-radius: 0 0 5px 5px;
	}
	
	/* Light Theme Header */
	.my-table thead tr {
	  background: #099 !important;
	}
	
	.my-table thead tr th {
	  color: #fff;
	  font-size: 14px;
	  border-bottom: 0 !important;
	  border-right: 1px solid #eee;
	  padding: 3px 10px;
	  background: transparent !important; /* Forces TH to stay transparent */
	}
	.my-table.standings thead tr th {
	  padding: 3px 6px;
	}
	.my-table thead tr th:last-child {
	  border-right: 0;
	}
	
	/* Dark Theme Overrides */
	.theme-dark .my-table thead tr {
	  background: linear-gradient(45deg, #48f, #025) !important;
	  background-image: linear-gradient(-135deg, #033, #37BC9B) !important;
	}
	
	.theme-dark .my-table thead tr th {
	  background: transparent !important; /* Prevents dark-theme framework TH overrides */
	  border-color: #111 !important;
	}	
	
	.my-table tbody td.nowrap {
		white-space:nowrap;
	}	
	
	.my-table tbody td {
		padding:5px 10px;
		border-right:1px solid #ccc;
		border-bottom:1px solid #ccc;
		line-height:140%;
		vertical-align:middle;
		background:#fff;
		color:#222;
	}
	.my-table tbody td i.fa {
		font-size:18px !important;
	}
	.my-table.standings {
		padding:5px 6px;
		font-size:12px;
	}
	.my-table.standings tbody td {
		padding:5px 6px;
	}
	.theme-dark .my-table tbody td {
		border-color:#666 !important;
		background:#2a2a2a !important;
		color:#eee;
	}
	.my-table tbody td:last-child {
		border-right:0;
	}
	.my-table tbody tr:last-child td {
		border-bottom:0;
	}
	
	.table-title {
		background: #37e;
		border-radius:4px 4px 0 0;
		padding:3px 13px !important;
		font-size:13px;
		font-weight:600;
		color:#fff;
		margin-bottom:1px;
		border:0;
	}
	.theme-dark .table-title {
		background: linear-gradient(45deg, #48f, #025);
		border-bottom:1px solid #2a2a2a;
		
	}
	
	.page-title {
		font-size: 16px;
		padding:6px 14px 5px;
		font-weight:600;
		text-align:center;
		border-radius:3px;
		margin:0 4px auto;
		margin-bottom:5px;
		color: #fff;
		text-shadow:1px 1px 2px #000;
		text-transform:uppercase;
		background-image: linear-gradient(-135deg, #025, #48f);
	}
	.theme-light .page-title {
		color: #fff;
		text-shadow:none;
		background: #37e;
	}
	
	/*Tabs*/
	.tab-controls {
		display: flex;
	}
	.bg-green-gradient {
		background-image: linear-gradient(-135deg, #030, #3c9);
		color: #FFF;
	}
	.theme-light .bg-green-gradient {
		background-image: linear-gradient(-135deg, #085, #085);
		color: #FFF !important;
	}
	.tab-controls a {
		font-family: "Source Sans Pro", sans-serif;
		color: #fff;
		background-color: #040 !important;
		width: 100%;
		text-align: center;
		border:0 !important;
		align-self: center;
		margin: 0 auto;
		font-size:16px;
		line-height:40px;
	}
	.theme-light .tab-controls a {
		background-color: #2b8 !important;
	}
	.tabs-small {
		line-height: 35px;
	}
	.tabs-rounded a:first-child {
		border-top-left-radius: 5px;
		border-bottom-left-radius: 5px;
		margin-right:4px;
	}
	.tabs-rounded a:last-child {
		border-top-right-radius: 5px;
		border-bottom-right-radius: 5px;
		margin-left:4px;
	}
	.theme-dark .tab-controls a {
		background-color: #040;
		color: #FFF;
	}

	/*Accordion Settings*/
	.bg-blue-gradient, .btn.bg-blue-gradient {
	  background: linear-gradient(90deg, #48f, #025) !important;
	}
	.theme-light .bg-blue-gradient, 
	.theme-light .btn.bg-blue-gradient{
	  background: #26d !important;
	}
	.btn.accordion-btn {
	  text-align: left !important;
	  padding: 15px 17px;
	  padding: 10px 10px;
	  font-size: 15px;
	  font-weight: 500;
	  border-radius:5px;
	  color: #FFF !important;
	}
	
	.zoom-wrapper {
	  width: 100%;
	  max-width: 100%; /* Spans full width on mobile screens */
	  max-height: 75vh;
	  overflow: hidden;
	  padding:5px;
	  border-radius:8px;
	  /* CRITICAL: Stops mobile browser from overriding touch controls */
	  touch-action: none; 
	}
	.zoom-wrapper img {
	  width: 100%;
	  height: auto;
	  xborder-radius:5px;
	  border:2px solid #333;
	  transform-origin: center center;
	  transition: transform 0.05s ease-out; /* Keeps gestures responsive */
	 }
	 .xzoom-frame {
	  	border: 0;
		border-radius:8px;
		background:#666;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.8) !important;
	 }
	 .theme-light .zoom-frame {
		background:#fff;
	 }
	
	.gradient-blue {
		background: linear-gradient(90deg, #48f, #025);
	}
	
	.rounded-gradient-border {
		border: 1px solid transparent;
		border-radius: 5px;
		background: 
		linear-gradient(#000, #000) padding-box, /* Inner background color */
		linear-gradient(-45deg, #111, #00F5FF) border-box; /* Gradient border */
	}

	.gradient-mint {
	  background-image: linear-gradient(-135deg, #033, #37BC9B);
	  color: #FFF !important;
	}
	.theme-light .gradient-mint {
	  background: #099;
	  color: #FFF !important;
	}
	
	.color-blue-light {
	  color: #5D9CEC !important;
	}
	.theme-light .color-blue-light {
	  color: #3366CC !important;
	}

	.gradient-blue {
	  background: linear-gradient(90deg, #48f, #025);
	  color: #FFF !important;
	}
	
	.gradient-red {
	  background-image: linear-gradient(-135deg, #500, #DA4453);
	  color: #FFF !important;
	}
	.theme-light .gradient-red {
	  background-image: linear-gradient(-135deg, #c93342, #c93342);
	  color: #FFF !important;
	}
	
	.gradient-green {
	  background-image: linear-gradient(-135deg, #030, #090);
	  color: #FFF !important;
	}
	.theme-light .gradient-green {
	  background-image: linear-gradient(-135deg, #090, #090);
	  color: #FFF !important;
	}
	
	.gradient-orange {
	  background-image: linear-gradient(to bottom, #FC6E51, #E9573F);
	  color: #FFF !important;
	}

	.shadow-mob, .shadow-mob.active, .shadow-mob:hover {
	  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8) !important;
	}
	.overhang {
		position: fixed;
		display: none;
		width: auto;
		max-width: 95%;
		z-index: 9999;
		padding: 10px 20px;
		margin:0 auto;
		line-height:140%;
		top: 15px;
		left: 50%;
		transform: translate(-50%, 0);
		text-align: center;
		box-sizing: border-box;
		border-radius: 5px;
		white-space:nowrap;
		box-shadow: 0 0 15px rgba(0,0,0,0.5);
	}
	
	.gmap {
		position:absolute;
		top:10px;
		right:10px;
	}
	.gmap img {
		display:block;
		width:40px;
		height:40px;
	}
	
	h3.info {
		width:100%;
		text-align:center;
		line-height:120%;
		font-weight:500;
		font-size:16px;
		padding:10px 5px;
	}
	
	.my-card-style {
		overflow: hidden;
		margin: 0px 0px 2px 0px;
		border-radius: 4px;
		border: none;
	}
	.sidebar-logo {
	  background-size: 30px 30px;
	  background-repeat:no-repeat;
	  width: 50px;
	  height:38px;
	  background-image: url(../images/eppl_logo.png);
	  margin-top:8px;
	  margin-left:11px;
	}
	.sidebar-close {
	  position:absolute;
	  right:20px;
	  top:13px;
	}
	
	/*-Footer Menu-*/
	#footer-bar {
	  position: fixed;
	  bottom: 0px;
	  left: 0px;
	  right: 0px;
	  z-index: 98;
	  background-color: rgba(249, 249, 249, 0.98);
	  box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.2);
	  min-height: 60px;
	  height: calc(62px + (constant(safe-area-inset-bottom))*1.1);
	  height: calc(62px + (env(safe-area-inset-bottom))*1.1);
	  display: flex;
	  text-align: center;
	}
	#footer-bar a {
	  color: #1f1f1f;
	  padding-top: 12px;
	  position: relative;
	  flex: 1 1 auto;
	}
	#footer-bar a span {
	  position: relative;
	  z-index: 2;
	  display: block;
	  font-size: 11px;
	  font-weight: 500;
	  margin-top: -6px;
	  opacity: 1;
	  font-family: "Roboto", sans-serif !important;
	}
	#footer-bar a i {
	  font-size: 20px;
	  position: relative;
	  z-index: 2;
	  xcolor: #fff;
	}
		
	.comments-block {
		font-size: 15px;
		line-height: 1.6em;
		margin-bottom:10px
	}
	
	.comments-block .item {
		display: flex;
		align-items: flex-start;
		padding-bottom:10px;
		margin-bottom:10px;
	}
	.comments-block .avatar img {
		margin-right: 10px;
		width:20px;
		xborder:4px solid rgba(0,0,0,0.15);
		border-radius:50%;
	}
	.comments-block .text {
		line-height:140%;
		padding-top:10px;
	}
	.comments-block .title {
		margin: 0;
		padding: 0;
		font-size: 18px;
		font-weight:500;
	}
	.comments-block .time {
		font-weight:600;
		padding:0;
		margin:0;
		line-height:100%;
	}
	.comments-block .author {
		font-size: 18px;
		font-weight:500;
		padding:0;
		margin:0;
	}
	
	/*Contact Form*/
	.form-field {
	  position: relative;
	}
	.form-field span, 
	span.required {
	  position: absolute;
	  right: 5px;
	  top:3px;
	  font-size: 11px;
	  opacity: .8;
	  color:#ea5753;
	}
	.theme-dark .form-field span {
	  opacity: .7;
	  color:#ea5753 !important;
	}
	.form-field input, 
	.form-field textarea {
	  background:#fff !important;
	}
	.theme-dark .form-field input, 
	.theme-dark .form-field textarea {
	  background:#333 !important;
	}
	.form-field input {
	  box-shadow: none;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  border-radius: 5px;
	  margin: 0px 0px 10px 0px;
	  font-size:14px !important;
	  background:#fff;
	}
	.form-field select {
	  box-shadow: none;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  border-radius: 5px;
	  margin: 0px 0px 5px 0px;
	  width:100%;
	  line-height:35px;
	  padding:0 12px;
	  font-size:14px !important;
	}
	.form-field textarea {
	  box-shadow: none;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  border-radius: 5px;
	  margin: 0px 0px 15px 0px;
	  font-size:14px !important;
	}
	
	.form-name input {
	  line-height: 35px;
	  border: solid 1px rgba(0, 0, 0, 0.1);
	  width: 100%;
	  padding: 0px 10px 0px 10px;
	}
	
	.form-input input {
	  line-height: 35px;
	  border: solid 1px rgba(0, 0, 0, 0.1);
	  width: 100%;
	  padding: 0px 10px 0px 10px;
	}
	
	.form-email input {
	  line-height: 35px;
	  border: solid 1px rgba(0, 0, 0, 0.1);
	  width: 100%;
	  padding: 0px 10px 0px 10px;
	}
	
	.form-text textarea {
	  height: 120px;
	  line-height: 150%;
	  width: 100%;
	  border: solid 1px rgba(0, 0, 0, 0.1);
	  padding: 10px 10px 0px 10px;
	  margin-bottom: 15px;
	}
	
	.contactSubmitButton {
	  width: 100%;
	  display: block;
	  border-radius: 10px;
	  color: #FFF !important;
	  padding: 12px 0px !important;
	}

	/* Light Mode Styles */
	body.theme-light .modal-content {
	  background-color: #ffffff;
	  color: #212529;
	}
	body.theme-light .modal-content input,
	body.theme-light .modal-content textarea {
	  background-color: #f8f9fa;
	  color: #212529;
	  border: solid 1px rgba(0, 0, 0, 0.3);
	}
	.form-field label {
		background:transparent !important;
	}

	
	/* Dark Mode Styles */
	body.theme-dark .modal-content {
	  background-color: #1a1a1a;
	  color: #eee;
	  border: solid 1px rgba(255, 255, 255, 0.2);
	}
	body.theme-dark .modal-content input,
	body.theme-dark .modal-content textarea {
	  background-color: #222 !important;
	  color: #eee !important;
	  border: solid 1px rgba(255, 255, 255, 0.1) !important;
	}	
	
	.no-team {
		border:1px solid #666;
	}
	.theme-light .no-team {
		border:1px solid #ccc;
	}
	
	.blink-fade {
		animation: blinker 3s linear infinite;
	}
	@keyframes blinker {
		50% {
			opacity: 0.3;
		}
	}
	
	.blink-4 {
	  animation: blink-4 1s steps(1) 4 forwards;
	}
	@keyframes blink-4 {
	  50% {
		opacity: 0;
	  }
	}	
	
	.blink-6 {
	  animation: blink-6 1s steps(1) 6 forwards;
	}
	@keyframes blink-6 {
	  50% {
		opacity: 0;
	  }
	}	
	
	.blink-0 {
	  animation: blink-0 1s steps(1) infinite;
	}
	@keyframes blink-0 {
	  50% {
		opacity: 0;
	  }
	}	
	
	.blink-sl {
	  animation: blink-sl 2s steps(1) infinite;
	}
	@keyframes blink-sl {
	  50% {
		opacity: 0.5;
	  }
	}	
	
	/*List Groups*/
	.list-custom-small {
	  line-height: 40px;
	}
	.list-custom-small .badge {
	  position: absolute;
	  right: 15px;
	  margin-top: 16px !important;
	  font-size: 9px;
	  padding: 5px 8px 5px 8px;
	  font-weight: 700;
	}
	.list-custom-small a {
	  color: #1f1f1f;
	  font-weight: 500;
	  font-size: 13px;
	  border-bottom: solid 1px rgba(0, 0, 0, 0.15);
	}
	.theme-dark .list-custom-small a {
	  border-bottom: solid 1px rgba(255, 255, 255, 0.2) !important;
	}
	.list-custom-small a i:first-child {
	  margin-left: 0px;
	  width: 30px;
	  height: 30px;
	  line-height: 30px;
	  margin-top: 5px;
	  text-align: center;
	  float: left;
	  margin-right: 10px;
	  border-radius:50%;
	}
	.list-custom-small a i:last-child {
	  float: right;
	  font-size: 10px;
	  opacity: 0.5;
	}
	.list-custom-small i {
	  line-height: 40px;
	}
	.list-custom-small .custom-control {
	  z-index: 10;
	  position: absolute;
	  right: 40px;
	  margin-top: -38px !important;
	}
	.list-custom-small .custom-control input {
	  transform: translateY(-5px) !important;
	}
	
	.menu .list-custom-small a i:first-child {
	  margin-left: 6px;
	}
	
	.menu-box-modal {
	  top: 50%;
	  left: 50%;
	  width: 95%;
	  max-height: 90%;
	  transform: translate(-50%, -50%) scale(0, 0);
	  opacity: 0;
	  pointer-events: none;
	  transition: all 350ms ease;
	}
	
	.bg-green-dark {
	  background-color: #009966 !important;
	  color: #FFF !important;
	}
	
	.toast-tiny {
	  width: auto;                  /* Allow container to fit content size */
	  max-width: 90%;               /* Prevent overflow on small screens */
	  z-index: 90;
	  position: fixed;
	  left: 50%;
	  transform: translateX(-50%);  /* Keep centered when using left: 50% with auto width */
	  line-height: 35px;
	  padding: 0px 15px;
	  color: #FFF !important;
	  transition: all 200ms ease;
	  font-size: 14px;
	  border-radius: 5px;
	  border: 0px !important;
	  white-space: nowrap;         /* Keep text on a single line (optional) */
	}	
	
	.color-red-dark {
	  color: #FF3333 !important;
	}
	.color-green-dark {
	  color: #009966 !important;
	}
	.color-blue-dark {
	  color: #0066CC !important;
	}
	
	.border-theme {
	  border:1px solid rgba(0, 0, 0, 0.8) !important;
	}
	
	.theme-dark .border-theme {
	  border:1px solid rgba(255, 255, 255, 0.5) !important;
	}
	
	
	
	
	
	
	
	

