/* ========================================
   TYPOGRAPHY & BASE STYLES
   ======================================== */

@font-face {
	font-family: "Equip-Light";
	src: url("fonts/Equip-Light.woff");
}

html {
	background: #fff;
}

body {
  margin: 0;
  font-family: 'Equip-Light', sans-serif;
}

.UniversalPageColor {
	background-color: #fff; 
}

/* ========================================
   UTILITIES & HELPERS
   ======================================== */

@media print {
    .no-print, .no-print * {
        display: none !important;
    }
}

.green-dot {
	width: 20px; 
	height: 20px;
	background-color: green;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
}

.red-dot {
	width: 20px; 
	height: 20px;
	background-color: red;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
}

/* ========================================
   FORM ELEMENTS
   ======================================== */

.NiceRadio {
  width: 16px;
  height: 16px;
  margin-right: 5px;
}

/* ========================================
   COMPONENTS & MODALS
   ======================================== */

.SuccessBox {
	display: none; 
	position: absolute; 
	left: 50%; 
	top: 50%; 
	transform: translate(-50%, -50%); 
	height: 75px; 
	width: 200px; 
	background-color:#6DC779;
	color:white;
	text-align: center; 
	vertical-align: middle; 
	line-height: 76px; 
	font-size:25px;
	-moz-border-radius: 15px; 
	border-radius: 15px;
}

.TCDialog{
	display: none;
	font-size: 15px;
}

.ChooserBox{
	display: table-cell;
    width: 200px;
    height: 46px;
    padding: 10px;
    border: 1px solid gray;
    vertical-align: middle;
    cursor: pointer;
    margin-top: 10px;
    border-radius: 8px;
    font-size: 18px;
}

.ChooserBox:hover{
	background-color: #e0e1e1;
}

.TheMatrix{
	display: none; /* This is used in place of recaptcha as a honeypot to block non-humans */
}

.BigCheckBox{
	width: 18px;
	height: 18px;
  vertical-align: bottom;
}

.hex-colors {
	margin-left: 10px; 
	font-family: monospace; 
	font-weight: bold; 
	cursor: pointer; 
	padding: 2px 4px; 
	border: 1px solid #ccc; 
	border-radius: 3px;
	width: 70px;
	display: inline-block;
	text-align: center;
}

.hex-input-edit {
	font-family: monospace; 
	font-weight: bold; 
	padding: 2px 4px; 
	border: 1px solid #007cba; 
	border-radius: 3px; 
	width: 70px;
	text-align: center;
	display: inline-block;
	margin-left: 10px;
}

.BigCheckBoxSubAligned{
	width: 18px;
	height: 18px;
	vertical-align: sub;
	margin-top: 2px;
}

.BigCheckBoxMobile{
	width: 25px;
	height: 25px;
	vertical-align: bottom;
}

.SpinnerContainer{
	display: none;
	width: 124px; 
	margin: 0 auto;
	text-align:center;
	z-index: 9999; 
	background: #fff; 
	padding: 10px 22px 24px 0px; 
	margin-bottom: 15px; 
	border: 5px solid #808080; 
	border-radius: 15px;
}

.spinner.loading {
  padding: 40px;
  position: relative;
  text-align: center;
  z-index: 9999; 
}

.spinner.loading:before {
  content: "";
  height: 40px; /* WARNING: You can change the height/width, but certain dimensions make the spinner wobble. Example: 50x50 wobbles! */
  width: 40px; /* WARNING: You can change the height/width, but certain dimensions make the spinner wobble. Example: 50x50 wobbles! */
  margin: -15px auto auto -15px;
  position: absolute;
  top: 50%;
  left: 50%;
  border-width: 8px;
  border-style: solid;
  border-color: #2180c0 #ccc #ccc;
  border-radius: 100%;
  animation: rotation .7s infinite linear;
  z-index: 9999; 
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  } to {
    transform: rotate(359deg);
  }
}

#DarkLayer
{
    position:fixed;
    top: 0px;
    left: 0px;
	background-color: gray;
    filter:alpha(opacity=50); /* IE */
    opacity: 0.5; /* Safari, Opera */
    -moz-opacity:0.50; /* FireFox */
    z-index: 100;
    height: 100%;
    width: 100%;
    background-repeat:no-repeat;
    background-position:center;
}

#faqs dt {
	font-size: 20px;
	font-weight: bold;
	color: #474747;
	cursor: pointer;
	margin: 0 0 15px 15px;
	background: url(../images/expand-icon.png) no-repeat left;
	min-height: 40px;
}

#faqs .expanded {
	background: url(../images/expanded-icon.png) no-repeat left;
}

#faqs dd {
	font-size: 17px;
	margin: 0 0 20px 25px;
}

#faqs dt, #faqs dd {
	padding: 0 0 0 50px;
}

#faqs dd {
	display: block;
	margin-inline-start: 0px;
}

.DTAlign{
	padding-top: 7px;
}

.TCHighlight{
	background-color: #ededed;
	border-radius: 6px;
	padding: 2px 8px 2px 7px;
}

.video-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}

.video-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

.HomeInfoBlock{
	margin-top: 30px; 
	width: 800px; 
	font-size: 20px; 
	text-align: left; 
	color: #545454
}

.HomeTitleBlock{
	background-color: #1998d5;
    font-size: 40px;
    width: 100%;
    text-align: center;
    margin-top: 90px;
    padding-top: 50px;
    padding-bottom: 50px;
    color: #fff;
}

.BasicInfoBox{
	margin-top:15px; 
	padding: 10px 20px 10px 20px; 
	text-align: left;
}

.BasicTextBox{
	width: 260px;
    font-size: 18px;
    padding: 5px;
    margin-top: 8px;
}

.BasicTextBoxSmallerFont{
	width: 260px;
    font-size: 17px;
    padding: 5px;
    margin-top: 8px;
}

/* Button Base Styles */
.GrayButton, .MediumButton, .ThinButton, .LargeButton, .GreenButton, .RedButton, .RedButtonLarge {
    -moz-border-radius: 15px;
    -webkit-border-radius: 7px;
    outline: 0;
    cursor: pointer;
    border: none;
}

/* Gray Button */
.GrayButton {
    background-color: #e2e2e2;
    color: #1B1B10;
    padding: 5px 15px;
}

.GrayButton:hover {
    background-color: #ebeadd;
}

/* Blue Buttons */
.MediumButton, .ThinButton, .LargeButton {
    background-color: #1998d5;
    color: #fff;
}

.MediumButton {
    padding: 7px 17px;
    font-size: 20px;
}

.ThinButton {
    padding: 5px 12px;
    font-size: 14px;
}

.LargeButton {
    padding: 12px 30px 11px 30px;
    font-size: 16px;
}

.MediumButton:hover, .ThinButton:hover, .LargeButton:hover {
    background-color: #3eafe5;
}

/* Green Button */
.GreenButton {
    background-color: #42a20a;
    color: #fff;
    padding: 5px 15px;
}

.GreenButton:hover {
    background-color: #27d00d;
}

/* Red Buttons */
.RedButton, .RedButtonLarge {
    background-color: #a63e3e;
    color: #f1f1e6;
}

.RedButton {
    padding: 5px 15px;
}

.RedButtonLarge {
    padding: 7px 17px;
    font-size: 20px;
}

.RedButton:hover, .RedButtonLarge:hover {
    background-color: #bb5b6c;
}

.RoundedDiv{
	border: 1px solid #808080;
    padding: 19px;
    border-radius: 15px;
}

.MenuIcon{
    margin-top: -5px;
    margin-bottom: -10px;
}

.LoggedIn{
	position: absolute; 
	top: 4px; 
	right: 10px; 
	font-size: 11px; 
	color: #e9ecec;
}

/* ========================================
   NAVIGATION & LAYOUT
   ======================================== */

.topnav {
  overflow: hidden;
  position: relative; 
  background-color: #f6f6f6;
}

.topnav a {
  float: left;
  display: block;
  color: #474747;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.active {
  font-weight: bold;
  background-color: #ededed;
  color: white;
}

.topnav .icon {
  display: none;
}

.MenuBars{
	display: none;
}

.LogoPosition{
	position: absolute; 
	left: 1px;
    top: -75px;
}

.MenuLink{
	font-weight: bold;
}

.MenuLink:hover{
	color: #1998d5;
}

#orig-nav{
	display: none;
}

/* Top Navigation Layout */
#top-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 90px;
  padding: 5px 30px;
  box-sizing: border-box;
}

#top-navigation #affiliate-logo {
  min-width: 170px;
  height: 83px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

#top-navigation .stepper-center {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 20px;
}

#top-navigation .center-text {
  flex: 1;
  text-align: center;
  margin: 0 0 0 -180px;
  font-family: Equip-Light;
  font-weight: bold;
  font-size: 17px;
}

#top-navigation .user-details {
  flex-shrink: 0;
  margin: 0;
  font-family: Equip-Light;
  font-weight: bold;
  font-size: 17px;
}

.logo-mobile {
  display: none;
  width: 170px;
  object-fit: contain;
}

.admin-mobile {
  position: absolute;
  top: 17px;
  right: 13px;
  z-index: 100;
}

input[type="color"] {
  /* Forces hex color picker */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

/* Tablet Navigation Styles */
@media screen and (max-width: 1024px) {
	#top-navigation {
		#affiliate-logo {
			width: 100px;
			margin-right: 20px;
		}
		p.user-details {
			width: 100px;
			font-size: 14px;
		}
	}
}

/* Mobile Navigation Styles */
@media screen and (max-width: 768px) {
  #top-navigation {
    display: flex;
    align-items: center;
    padding: 8px;
    height: 73px;
    
    #affiliate-logo {
      width: 170px;
	  margin-right: 0;
      height: auto;
      object-fit: contain;
      display: block;
      flex-shrink: 0;
    }
    
    p.user-details {
      display: block;
      flex: 1;
      text-align: center;
      margin: 0 0 0 -180px;
      font-size: 14px;
      font-family: Equip-Light;
      font-weight: bold;
	  line-height: 73px;
    }
    
    .stepper-center {
      display: none;
    }
  }
}

@media screen and (max-width: 600px) {
  .LoggedIn {
    text-align: center;
    right: 0px;
    width: 100%;
  }
  
  .HomeInfoBlock {
	  width: 90%; 
  }

  .HomeTitleBlock {
	font-size: 30px;
    margin-top: 50px;
    padding-top: 45px;
    padding-bottom: 45px;
  }
  
  .topnav {
	  display: none; 
	  margin-top: 30px;
  }
  
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
  
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
  
  .MenuBars {
    display: block;
    position: absolute; 
    width: 40px; 
    height: 25px; 
    top: 27px; 
    left: 15px;
  }
  
  .LogoPosition {
	  position: relative;
    top: 9px;
    left: 0px;
    margin-bottom: 0px;
  }
  
  .MenuLink {
     border-bottom: 1px solid #808080;
  }

  #top-navigation {
    #affiliate-logo {
      display: none;
    }

    p.center-text {
      text-align: center;
  	  margin: 0;
    }
    p.user-details {
      margin: 0;
    }
  }

  .logo-mobile {
    display: block;
    width: 170px;
    object-fit: contain;
	padding-top: 15px;
	height: 65px;
  }

  .admin-mobile {
    position: absolute;
    top: 109px;
    right: 6px;
  }
}

/* Desktop Navigation Styles */
@media (min-width: 769px) {
  .EZGMobileStepper-stepper {
    display: none; /* Hide mobile stepper on desktop */
  }
}