*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  font-family: Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial; 
  font-size: 16px;
  line-height:1.3;
  font-weight: 400; 
  background-color:#F2F6FA;
}

img{
  border: 0;
  max-width:100%;
}

a{
  text-decoration: none;
  cursor:pointer;
  transition:.7s color, .7s background-color;
  color:#000;
}
a:focus{
  outline: none;
}
a:hover{
  transition:.3s color, .3s background-color;
}

h2{
  font-size: 25px;
  line-height: 1.1;
  font-weight: 800;
  margin-bottom: 15px; 
  color:#00539F;
}


h3{
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
  margin-top: 30px; 
  margin-bottom: 15px; 
  color:#00539F;
}
h3 a{
  color:#00539F;
}


h4{
  font-size: 16px;
  font-weight: 300;
  color:#00539F;
  text-transform: uppercase;
  margin-bottom: 10px; 
}

h5{
  font-size: 20px;
  font-weight: 300;
  color:#00539F;
  margin: 30px 0 0 0;
}

h2:first-child, h3:first-child, h4:first-child{
  margin-top:0;
}

p{
  margin-bottom: 15px;
}
p:last-child{
  margin-bottom:0;
}

ul, ol{
  margin: 0 0 15px 30px;
}

.large{
  font-size: 20px;
  line-height: 35px;
}
.small{
  font-size: 14px;
  line-height: 20px;
}
.tiny{
  font-size: 13px; 
  line-height: 13px; 
}

.light{
  font-weight:300;
}
.semi{
  font-weight: 600;
}

.clear{ clear: both; }

.container{
  margin: 0 auto;
  width: 100%;
  max-width: 800px;
  position:relative;
}
.container.narrow{
  max-width: 850px;
}

.relative{
  position:relative; 
}
.flex{
  display:flex;
}
.flex.wrap{
  flex-wrap:wrap;
}
.flex.end{
  align-items:flex-end;
}
.flex.vert{
  align-items:center;
}

.flex .half{
  width: 47%;
  margin-right: 6%;
}
.flex .half:nth-child(2n+2){
  margin-right:0;
}

.flex .third{
  width: 32%;
  margin-right: 2%;
}
.flex .third:nth-child(3n+3){
  margin-right:0;
}

.flex .twothirds{
  width: 65%; 
}
.flex .twothirds-third{
  width: 30%;
  margin-left: 5%; 
}

.flex .auto{
  flex:auto;
}

.margined{
  margin: 75px auto;
}
.margined-small{
  margin: 20px auto;
}
.margined-med{
  margin-top: 50px;
  margin-bottom: 50px; 
}

.topmargin{
  margin-top: 50px;
}
.topmargin-tiny{
  margin-top: 10px; 
}

.bottommargin{
  margin-bottom: 75px;
}
.bottommargin-tiny{
  margin-bottom: 15px; 
}

.padded{
  padding: 30px;
}
.padded-small{
  padding: 15px;
}

.left{
  text-align:left;
}
.center{
  text-align:center;
}
.right{
  text-align:right;
}


.button{
  display: inline-block;
  border-radius: 5px;
  background-color:#00539F;
  color:#FFF;
  padding: 5px 35px;
  border:0;
  font-family: Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial; 
  font-size: 16px;
  line-height:25px;
  font-weight: 400;   
  cursor:pointer; 
  transition:.3s background-color;
}
.button:hover{
  color:#FFF;
  background-color:#D1307B;
  transition:.3s background-color;
}

.button.feature{
  font-weight: 700;
  text-transform: uppercase;
  padding: 20px 30px; 
}
.button.yellow{
  background-color:#FFF200;
  color:#00539F;
} 
.button.pink{
  background-color: #D1307B;
  color:#FFF !important; 
}


.inline{
  display:inline;
}
.inlineblock{
  display:inline-block;
}
.block{
  display:block;
}

.bgcover{
  background-size:cover;
  background-position: center center;
}
.bgcontain{
  background-size:contain;
  background-repeat: no-repeat;
  background-position: center center;
}


body.login{
  background-color: #00539F;
}
.logincontainer{
  width: 90%;
  max-width: 500px;
  box-sizing: border-box;
  margin: 40px auto;
  text-align:center;
}

.logincontainer .logo{
  max-height: 100px;
  max-width: 250px;
}
.logincontainer h2{
  color:#FFFFFF;
  font-weight:900;
  font-size: 25px;
  margin: 15px 0 50px 0;
}
.logincontainer .loginbox{
  background-color:#FFFFFF;
  border-top: 8px solid #144874;
  
  text-align:left;
  overflow:hidden;
}
.logincontainer .loginbox .padding{
  padding: 20px;
}
.logincontainer .grey{
  background-color:#f1f1f1;
  padding: 10px 20px;
}
.logincontainer .button{
  background-color: #144874;
  float:right;
}

.loginbox.logingone{
  display: none;
}


.label{
  color: #606060;
  margin-top: 15px;
}

.select, .input, .textarea,.flatpickr-input{
  box-sizing: border-box;
  width: 100%;
  padding: 8px;
  border: 1px solid #9B9B9B;
  font-family: Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial; 
  font-size: 14px;
  color:#606060;
  background-color:#FFFFFF;
}
.textarea{
  height: 90px;
}

.input.disabled{
  background-color:#f9f9f9;
  cursor: not-allowed;
}

.input.price{
  position:relative;
  padding-left: 25px;
  background-image: url('/images/dollar-sign-solid.svg');
  background-repeat: no-repeat; 
  background-size: auto 16px;
  background-position: left 5px center;
}


.note{ 
  background-color: #D1307B;
  text-align:center; 
  color:#FFFFFF;
  padding: 20px 40px;
  text-transform: uppercase;
  
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 20px;
}
.note .fa{
  font-size: 25px;
  vertical-align:middle;
  margin-right: 15px;
}
.note.error{
  background-color:#BF312F;
}

.note.alert{
  background-color: #E40B7C;
}
.note.deadline{
  background-color: #333;
}


.data{
  border-collapse: collapse;
  padding:0;
  min-width:50%;
  margin-bottom: 30px; 
}
.data.topborder{
  border-top: 1px solid #CCCCCC;
}
.data tr td{
  padding: 5px 10px;
  border-bottom: 1px solid #CCCCCC;
  position:relative; 
}
.data tr:nth-child(2n+2) td{
  background-color: #f1f1f1;
}
.data tr td.heading, .data tr th{
  padding: 5px 10px;
  background-color: #00539F;
  font-weight: 700;
  color:#FFFFFF;
  text-align:left; 
  position:relative; 
}

.data tr td.heading.center, .data tr th.center{
  text-align:center;
}
.data.bordered td{
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
}
.data tr td.gold{
  background-color: #FFF200;
}

.data tr td.hovered{
  background-color:#D1307B30;
  transition:.3s background-color; 
}

.data tr th.table-colour{
  width: 11%; 
}

.data tr .sponsor-select{
  padding-bottom: 20px; 
}

.data .tdbutton{
  display:block; 
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height: 100%;
}


.bg-blue{   background-color: #00539F !important; }
.bg-lightblue{   background-color: #3375B2 !important; }
.bg-pink{ background-color: #D1307B !important; }
.bg-white{ background-color:#FFF !important; }
.bg-grey{ background-color:#f1f1f1 !important; }

.blue{   color: #00539F !important; }
.lightblue{   color: #3375B2 !important; }
.pink{ color: #D1307B !important; }
.white{ color: #FFF !important; } 

.gone{ display:none !important;}
.here{ display:block; }

.underline{ 
  text-decoration: underline;
}




#hamburger {
  width: 45px;
  height: 35px;
  position: absolute;
  z-index:9;
  right: 20px;
  top: 5px;
  transform: rotate(0deg);
  transition: .5s ease-in-out;
  cursor: pointer;
}

#hamburger span {
  display: block;
  position: absolute;
  height: 3px;
  width: 50%;
  background: #FFF;
  opacity: 1;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
}

#hamburger span:nth-child(even) {
  left: 50%;
}

#hamburger span:nth-child(odd) {
  left:0px;
}

#hamburger span:nth-child(1), #hamburger span:nth-child(2) {
  top: 5px;
}

#hamburger span:nth-child(3), #hamburger span:nth-child(4) {
  top: 15px;
}

#hamburger span:nth-child(5), #hamburger span:nth-child(6) {
  top: 25px;
}

.mm-wrapper_opened #hamburger span:nth-child(1),.mm-wrapper_opened #hamburger span:nth-child(6) {
  transform: rotate(45deg);
}

.mm-wrapper_opened #hamburger span:nth-child(2),.mm-wrapper_opened #hamburger span:nth-child(5) {
  transform: rotate(-45deg);
}

.mm-wrapper_opened #hamburger span:nth-child(1) {
  left: 5px;
  top: 8px;
}

.mm-wrapper_opened #hamburger span:nth-child(2) {
  left: calc(50% - 5px);
  top: 8px;
}

.mm-wrapper_opened #hamburger span:nth-child(3) {
  left: -50%;
  opacity: 0;
}

.mm-wrapper_opened #hamburger span:nth-child(4) {
  left: 100%;
  opacity: 0;
}

.mm-wrapper_opened #hamburger span:nth-child(5) {
  left: 5px;
  top: 21px;
}

.mm-wrapper_opened #hamburger span:nth-child(6) {
  left: calc(50% - 5px);
  top: 21px;
}

.mm-menu {
 --mm-color-background: #2C3237 !important;
 --mm-color-text: #fff !important;
 --mm-color-button: #fff !important;
 --mm-color-border: #666 !important;
 --mm-color-background-emphasis: #D1307B !important; 
}
.mm-navbar a{
  color:#FFF !important;
}
.mm-listitem__btn:not(.mm-listitem__text){
  border-left: none !important;
}

.mm-listitem::after{
  left: 0 !important;
}






.alert{
  color:#FFF; 
  text-align:center;
  padding: 10px; 
  font-weight:300;
  text-transform: uppercase;
  position:relative;
  top: -40px; 
}



.header{
  background-color: #00539F;
  padding: 5px 0 10px 0;
}

.header .header-logo{
  width: 150px; 
  display:block;
}
.header .header-store{
  color:#FFF;
  padding-left: 45px;
  font-size: 13px;
  margin-top: -5px;
}

.footer{
  font-size: 11px;
  line-height: 1.2;
  color:#666;
} 
.footer a{
  color:#666;
}

.shadow{
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

.block-link{
  display:block;
  background-color:#3375B2;
  padding: 10px;
  color:#FFF;
  margin-bottom: 10px; 
}

.item{
  display:block;
  border-left: 5px solid #3375B2;
  background-color:#F2F6FA;
  padding: 10px;
  margin-bottom: 15px; 
  transition:.7s border-color;
}
.item:hover{
  border-color: #FEF105;
  transition:.1s border-color;
}

.item .item-due{
  font-size: 11px; 
}

.item .item-alert-icon{
  float:right;
  color:#D1307B;
  font-size: 30px;
  margin-left: 20px;  
}
.item .item-alert-icon.success{
  color:#0DA35E;
}


.form{
  background-color: #f1f1f1;
  padding: 15px; 
}

.divider{
  border-bottom: 1px solid #CCC;
  height: 30px;
  margin-bottom: 30px; 
}




.blocklink{
  margin: 20px 0; 
  background-color: #f1f1f1;
  border-radius: 10px;
  overflow:hidden;
}

.blocklink .blockside{
  width: 250px; 
  font-size: 18px; 
  font-weight: 800;
  background-color:#D1307B;
  color:#FFF;
  padding: 20px; 
  text-align:center;
  transition:.3s width, .3s border-radius,3s padding;
}

.blocklink .blockside .detail{
  display:block; 
  font-size: 16px;
  font-weight:400;
  line-height:1.2;
  margin-top: 5px; 
}
.blocklink .blockmain{
  padding: 15px; 
}

a.blocklink:hover{
  color:#000;
}
a.blocklink:hover .blockside{
  width: 260px;
  padding: 20px 25px; 
  border-radius: 10px;
  transition:.3s width, .3s border-radius ,3s padding;
}

.blocklink .blockangle{
  display:block;
  position:absolute;
  right:0;
  top:0;
  background-color:#BF312F;
  padding: 10px 20px;
  color:#FFF; 
  border-bottom-left-radius:10px; 
}


.blocklink.pending .blockside{
  background-color:#666;
}

.thumb-image{
  width: 200px;
  max-width: 50%; 
}

.breadcrumbs{
  background-color:#BDD1E3;
  padding: 5px 10px;
  font-size: 13px; 
}

.breadcrumbs a{
  color:#00539F;
  display:inline-block;
}

.breadcrumbs a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 10px;
  margin-left: 8px;
  margin-right: 8px; 
  background-image: url('/images/caret-right.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
}

.breadcrumbs a:last-child::after{
  background:none;
}





.grid-4{
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: 20px; 
}


.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.grid-1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}



.grid-gap{
  gap: 30px !important;
}

.grid-span-1 {
  grid-column: span 1;
}

.grid-span-2 {
  grid-column: span 2;
}
.grid-span-3 {
  grid-column: span 3;
}

.square{
  display:Block;
  aspect-ratio:1/1;
}

.caption{
  display:block;
  position:absolute;
  left:0;
  bottom:0;
  background-color:rgba(0,0,0,.6);
  color:#FFF;
  padding: 5px 10px;
  font-size: 13px; 
}


.download{
  border:1px solid #CCC;
}


#loading{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index: 999;
  background-color: #00539F99;
  display:flex;
  align-items: center;
  justify-content: center;
}
#loading .loadbox{
  width: 500px;
  max-width: 75%;
  background-color:#FFF;
  text-align:center;
  padding: 50px;
  border-radius: 30px; 
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}


.loader {
  margin: 0 auto 15px auto; 
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,#ffa516 94%,#0000) top/8px 8px no-repeat,
    conic-gradient(#0000 30%,#ffa516);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
  animation: l13 1s infinite linear;
}
@keyframes l13{ 
  100%{transform: rotate(1turn)}
}