.cd-tabs{
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    background: #fff;
}
.cd-tabs:after{
    content: "";
    display: table;
    clear: both;
}
.cd-tabs nav{
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 992px){
    .cd-tabs{
        margin: 0;
    }
}

/* CD TABS NAVIGATION */
.cd-tabs-navigation{
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 100%;
    background: #ededed;
}
.cd-tabs-navigation:after{
    content: "";
    display: table;
    clear: both;
}
.cd-tabs-navigation li{
    float: left;
    margin: 0;
    padding: 0;
    width: 20%;
}
.cd-tabs-navigation a{
    position: relative;
    display: block;
    margin: 0;
    padding: 15px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    color: #a3a3a3;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    transition: all 0.25s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    cursor: pointer;
}
.cd-tabs-navigation li:last-child a{
    border-right: 1px solid #ddd;
}
.no-touch .cd-tabs-navigation a:hover{
    color: #4d4d4d;
    background-color: #ddd;
}
.cd-tabs-navigation a.selected,
.cd-tabs-navigation a.selected:hover{
    background-color: #fff !important;
    box-shadow: inset 0 2px 0 #BF202F;
    border-top: 1px solid #BF202F;
    border-bottom: 1px solid #fff;
    color: #212121;
}
@media screen and (max-width: 992px){
    .cd-tabs-navigation{
        border: 1px solid #ddd;
        border-top: none;
    }
    .cd-tabs-navigation li{
        width: 50%;
    }
    .cd-tabs-navigation a{
        padding: 15px 0;
        font-size: 14px;
        border: none;
        border-top: 1px solid #ddd;
    }
    .cd-tabs-navigation li:nth-of-type(1) a{}
    .cd-tabs-navigation li:nth-of-type(2) a{}
    .cd-tabs-navigation li:nth-of-type(3) a{
        border-right: 1px solid #ddd;
    }
    .cd-tabs-navigation li:nth-of-type(4) a{}
    .cd-tabs-navigation a.selected,
    .cd-tabs-navigation a.selected:hover{
        border-top: 1px solid #BF202F;
        border-bottom: none;
    }

}

/* CD TABS CONTENT */
.cd-tabs-content{
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 25px 0;
    width: 100%;
    background: #ffffff;
    border: 0px solid #ddd;
    border-top: none;
}
.cd-tabs-content li{
    display: none;
}
.cd-tabs-content li.selected{
    display: block;
    -webkit-animation: cd-fade-in 0.5s;
    -moz-animation: cd-fade-in 0.5s;
    animation: cd-fade-in 0.5s;
}
@media screen and (max-width: 992px){
    .cd-tabs-content{
        padding: 15px;
    }
}


/* SUB TABS */
ul.tabs{
    margin: 30px 0 10px;
    padding: 0 0 0 5px;
    list-style: none;
    text-align: center;
}
ul.tabs li{
    display: inline-block;
    padding: 0;
    font-size: 24px;
    font-weight: 400;
    cursor: pointer;
}
ul.tabs li:after{
    position: relative;
    display: inline-block;
    content: '';
    vertical-align: middle;
    margin: 0 12px 0 14px;
    padding: 0;
    height: 30px;
    width: 1px;
    background: #D1D1D1;
}
ul.tabs li:last-child:after{
    display: none;
}
ul.tabs li.current{
    color: #609d2b;
    text-decoration: underline;
}

/* TAB CONTENT */
.tab-content{
    display: none;
    padding: 0;
}
.tab-content.current{
    display: inherit;
}

/* CALENDAR TABS */
.calendar-tabs{
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}
.calendar-tabs:after{
    content: "";
    display: table;
    clear: both;
}
.calendar-tabs nav{
    position: relative;
    display: block;
    padding: 0 50px;
    height: auto;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}
.calendar-tabs .navigation{
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 50px;
    height: 100px;
    text-align: center;
    font-size: 18px;
    cursor: pointer;
    z-index: 5;
}
.calendar-tabs .navigation.move-left{
    left: 0;
    border-right: 1px solid #ddd;
}
.calendar-tabs .navigation.move-right{
    right: 0;
    border-left: 1px solid #ddd;
}
.calendar-tabs .navigation .fa{
    line-height: 100px;
}
.calendar-tabs .jplist-no-results{
    padding: 0;
}
.calendar-tabs .jplist-no-results p{
    margin: 0;
    padding: 0;
    line-height: 100px;
}
@media screen and (max-width: 992px){
    .calendar-tabs .navigation{
        font-size: 16px;
    }
    .calendar-tabs .navigation.move-left{
        right: 12px;
    }
    .calendar-tabs nav{
        padding: 0 30px;
    }
    .calendar-tabs .navigation{
        width: 30px;
        height: 65px;
    }
    .calendar-tabs .navigation .fa{
        line-height: 65px;
    }
    .calendar-tabs .jplist-no-results p{
        line-height: 65px;
    }
}

/* CALENDAR TABS NAVIGATION */
.calendar-tabs-navigation{
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x:hidden;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
}
.calendar-tabs-navigation:after{
    content: "";
    display: table;
    clear: both;
}
.calendar-tabs-navigation .list-item{
    position: relative;
    display: inline-block;
    margin: 0;
    width: 150px;
    height: 100px;
    background: #f8f8f8;
    border-right: 1px solid #ddd;
}
.calendar-tabs-navigation .list-item:first-child{

}
.calendar-tabs-navigation .list-item:last-child{
    border-right: 0px;
}
.calendar-tabs-navigation .list-item.camp-item{
    width: 235px;
}
.calendar-tabs-navigation .list-item .featured{
    position: absolute;
    top: 12px;
    right: 12px;
    width: 8px;
    height: 8px;
    background: #BF202F;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}
.calendar-tabs-navigation .list-item a{
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 32px;
    font-weight: 300;
    text-align: center;
    color: #a3a3a3;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    text-decoration: none;
    cursor: pointer;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    transition: all 0.25s;
}
.calendar-tabs-navigation .list-item:hover a{
    color: #4d4d4d;
}
.calendar-tabs-navigation .list-item a.selected,
.calendar-tabs-navigation .list-item:hover a.selected{
    color: #212121;
    font-size: 36px;
}
.calendar-tabs-navigation .list-item a .number{
    display: block;
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 600;
}
@media screen and (max-width: 992px){
    .calendar-tabs-navigation{
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .calendar-tabs-navigation .list-item{
        width: 100px;
        height: 65px;
    }
    .calendar-tabs-navigation .list-item.camp-item{
        width: 165px;
    }
    .calendar-tabs-navigation .list-item a{
        font-size: 21px;
    }
    .calendar-tabs-navigation .list-item a.selected,
    .calendar-tabs-navigation .list-item:hover a.selected{
        font-size: 24px;
    }
    .calendar-tabs-navigation .list-item a .number{
        margin: 0 0 4px;
        font-size: 12px;
    }
}

/* CALENDAR TABS CONTENT */
.calendar-tabs-content{
    position: relative;
    display: block;
    padding: 0;
    background: #fff;
    min-height: 300px;
}
.calendar-tabs-content .item{
    display: none;
}
.calendar-tabs-content .item.selected{
    display: block;
    padding: 35px 0 0;
    -webkit-animation: cd-fade-in 0.5s;
    -moz-animation: cd-fade-in 0.5s;
    animation: cd-fade-in 0.5s;
}
.calendar-tabs-content .item .camp-summary{
    position: relative;
    display: block;
}
.calendar-tabs-content .item .camp-summary h2{
    margin: 10px 0 25px;
    padding: 0;
    font-size: 22px;
    font-weight: 600;
}
.calendar-tabs-content .item .camp-summary h4{
    margin: 0 0 15px;
    font-size: 16px;
    font-weight: 400;
}
.calendar-tabs-content .item .camp-summary h4 .fa{
    margin: 0 12px 0 0;
    width: 15px;
}
.calendar-tabs-content .item .camp-register{
    display: block;
    margin: 35px 0 0;
}
.calendar-tabs-content .item .camp-register a,
.calendar-tabs-content .item .camp-register .total-credits{
    display: inline-block;
    vertical-align: middle;
    margin: 0 12px 0 0;
}
.calendar-tabs-content .item .camp-register .total-credits{
    color: #BF202F;
    font-size: 15px;
}
.calendar-tabs-content .item .camp-register .total-credits span{
    font-weight: 600;
}
.calendar-tabs-content .item .camp-description p {
    color: black !important;
}
.calendar-tabs-content .item .camp-disclaimer{
    display: block;
    margin: 25px 0;
    padding: 25px 0 0;
    border-top: 1px dashed #ddd;
}
.calendar-tabs-content .item .camp-disclaimer h6{
    margin: 0 0 7px;
    padding: 0;
    font-size: 15px;
    font-weight: 600;
}
.calendar-tabs-content .item #map{
    position: relative;
    display: block;
    width: 100%;
    height: 260px;
    background-color: #f8f8f8;
    background-image: url(../../../images/loading.svg);
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: 50px;
    -moz-background-size: 50px;
    background-size: 50px;
}
@media screen and (max-width: 992px){
    .calendar-tabs-content{
        min-height: 500px;
    }
    .calendar-tabs-content .item.selected{
        padding: 20px 0;
    }
    .calendar-tabs-content .pull-left,
    .calendar-tabs-content .pull-right{
        float: none !important;
    }
    .calendar-tabs-content .item .camp-summary{
        margin: 0 0 20px;
    }
    .calendar-tabs-content .item .camp-summary h2{
        margin: 0 0 18px;
        font-size: 18px;
    }
    .calendar-tabs-content .item .camp-summary h4{
        margin: 0 0 14px;
        font-size: 14px;
    }
    .calendar-tabs-content .item .camp-summary h4 .fa{
        margin: 0 10px 0 0;
        width: 12px;
    }
    .calendar-tabs-content .item .camp-register{
        margin: 25px 0 0;
    }
    .calendar-tabs-content .item .camp-register .total-credits{
        font-size: 14px;
    }
    .calendar-tabs-content .item .camp-disclaimer{
        margin: 20px 0;
        padding: 20px 0 0;
    }
    .calendar-tabs-content .item #map{
        height: 200px;
    }
}

/* REGISTER TABS */
.register-tabs{
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}
.register-tabs:after{
    content: "";
    display: table;
    clear: both;
}
.register-tabs nav{
    position: relative;
    display: block;
}

/* REGISTER TABS NAVIGATION */
.register-tabs-navigation{
    position: relative;
    display: block;
}
.register-tabs-navigation:after{
    content: "";
    display: table;
    clear: both;
}
.register-tabs-navigation .item{
    position: relative;
    display: inline-block;
    float: left;
    width: 33.33%;
}
.register-tabs-navigation .item a{
    position: relative;
    display: block;
    margin: 0;
    padding: 20px 0;
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-left: 0px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    color: #a3a3a3;
    text-decoration: none;
    cursor: pointer;
}
.register-tabs-navigation .item:last-child a{
    border-right: 0px;
}
.register-tabs-navigation .item:hover a{}
.register-tabs-navigation .item a.selected,
.register-tabs-navigation .item:hover a.selected{
    color: #BF202F;
    color: #212121;
    background: #fff;
    border-bottom: 1px solid #fff;
}
.register-tabs-navigation .item a span{
    display: none;
}
@media screen and (max-width: 992px){
    .register-tabs-navigation{
        border-top: 1px solid #ddd;
    }
    .register-tabs-navigation .item{
        display: block;
        float: none;
        width: 100%;
    }
    .register-tabs-navigation .item a{
        position: relative;
        display: block;
        margin: 0;
        padding: 15px 0;
        border: 0px;
        border-bottom: 1px solid #ddd;
        font-size: 18px;
    }
    .register-tabs-navigation .item:hover a{}
    .register-tabs-navigation .item a.selected,
    .register-tabs-navigation .item:hover a.selected{
        background: #fff;
        border-bottom: 1px solid #ddd;
    }
    .register-tabs-navigation .item a span{
        display: inline-block;
    }
}

/* REGISTER TABS CONTENT */
.register-tabs-content{
    position: relative;
    display: block;
    background: #fff;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}
.register-tabs-content .item{
    display: none;
    margin: 0;
    padding: 30px 25px;
    overflow-x: hidden;
}
.register-tabs-content .item.selected{
    display: block;
    -webkit-animation: cd-fade-in 0.5s;
    -moz-animation: cd-fade-in 0.5s;
    animation: cd-fade-in 0.5s;
}
.register-tabs-content .item .text-capitalize input{
    text-transform: capitalize;
}
@media screen and (max-width: 992px){
    .register-tabs-content .item{
        padding: 25px 15px;
    }
}

/* CAMP REGISTER CHECKBOXES */
.register-tabs-content .item .camp-register-checkboxes{
    position: relative;
    display: block;
    margin: 0 0 20px;
}
.register-tabs-content .item .camp-register-checkboxes h4{
    display: inline-block;
    vertical-align: top;
    margin: 0 8px 0 0;
    font-size: 14px;
    font-weight: 400;
    color: #6f6f6e;
}
.register-tabs-content .item .camp-register-checkboxes .radio-button {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 14px 12px 0;
    padding: 0 0 0 25px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 400;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.register-tabs-content .item .camp-register-checkboxes .radio-button input {
    position: absolute;
    opacity: 0;
}
.register-tabs-content .item .camp-register-checkboxes .checkmark {
    position: absolute;
    top: -2px;
    left: 0;
    height: 18px;
    width: 18px;
    background-color: #eee;
    box-shadow: inset 0 0 0 1px #ddd;
    border-radius: 50%;
    transition: all 0.25s;
}
.register-tabs-content .item .camp-register-checkboxes .radio-button:hover input ~ .checkmark {
    background-color: #ddd;
}
.register-tabs-content .item .camp-register-checkboxes .radio-button input:checked ~ .checkmark {
    background-color: #BF202F;
    box-shadow: none;
}
.register-tabs-content .item .camp-register-checkboxes .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.register-tabs-content .item .camp-register-checkboxes .radio-button input:checked ~ .checkmark:after {
    display: block;
}
.register-tabs-content .item .camp-register-checkboxes .radio-button .checkmark:after {
 	top: 5px;
	left: 5px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
}
@media screen and (max-width: 992px){
    .register-tabs-content .item .camp-register-checkboxes{
        position: relative;
        display: block;
        margin: 0 0 25px;
    }
    .register-tabs-content .item .camp-register-checkboxes h4{
        display: block;
        margin: 0 0 15px;
        font-size: 14px;
    }
    .register-tabs-content .item .camp-register-checkboxes .radio-button {
        display: block;
        margin: 0 0 15px 0;
        padding: 0 0 0 25px;
        font-size: 14px;
    }
}

/* SUB TITLE & BUTTONS */
.register-tabs h4.sub-title{
    display: block;
    margin: 0 0 25px;
    font-size: 18px;
    font-weight: 400;
    color: #212121;
}
.register-tabs .required-btn{
    float: right;
    margin: 0;
    opacity: 1;
    cursor: pointer;
}
.register-tabs .required-btn.disabled{
    opacity: 0.5;
    cursor: not-allowed;
}
@media screen and (max-width: 992px){
    .register-tabs h4.sub-title{
        font-size: 16px;
    }
}

/* CAMP REGISTRATION CONFRIMATION */
.register-tabs .camp-registration-confirmation{}
.register-tabs .camp-registration-confirmation .wrap{
    position: relative;
    display: block;
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px dashed #ddd;
}
.register-tabs .camp-registration-confirmation .col-md-12:first-child .wrap{
    padding-top: 0;
}
.register-tabs .camp-registration-confirmation .col-md-12:last-child .wrap{
    margin-bottom: 15px;
    border-bottom: 0px;
}
.register-tabs .camp-registration-confirmation .wrap h5{
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    color: #6f6f6e;
}
.register-tabs .camp-registration-confirmation .wrap h5 span{
    float: right;
    margin: -1px 0 0;
    width: auto;
    font-weight: 400;
    color: #212121;
}

/* SUCCESS REGISTER OVERLAY */
.register-tabs .success-register-overlay{
    position: absolute;
    display: none;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255,255,255,0.90);
}
.register-tabs .success-register-overlay.active{
    display: block;
    -webkit-animation: cd-fade-in 0.5s;
    -moz-animation: cd-fade-in 0.5s;
    animation: cd-fade-in 0.5s;
}
.register-tabs .success-register-overlay .text-wrap{
    position: absolute;
    width: 100%;
    left: 50%;
    top: 45%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    text-align: center;
}
.register-tabs .success-register-overlay .text-wrap .fa{
    position: relative;
    display: block;
    margin: 0 auto 25px;
    height: 85px;
    width: 85px;
    line-height: 85px;
    text-align: center;
    color: #609d2b;
    font-size: 36px;
    box-shadow: inset 0 0 0 3px #609d2b;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}
.register-tabs .success-register-overlay .text-wrap h4{
    margin: 0 0 12px;
    font-size: 24px;
    font-weight: 600;
}
.register-tabs .success-register-overlay .text-wrap p{
    display: block;
    margin: 0 auto;
    max-width: 320px;
}
.register-tabs .success-register-overlay .spinner{
    position: absolute;
    top: 35px;
    right: 25px;
    height: 20px;
    width: 20px;
    background-image: url(../../../images/loading-spinner.gif);
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
}
@media screen and (max-width: 992px){
    .register-tabs .success-register-overlay .text-wrap .fa{
        margin: 0 auto 20px;
        height: 65px;
        width: 65px;
        line-height: 65px;
        font-size: 24px;
        box-shadow: inset 0 0 0 2px #609d2b;
    }
    .register-tabs .success-register-overlay .text-wrap h4{
        margin: 0 0 10px;
        font-size: 21px;
    }
    .register-tabs .success-register-overlay .spinner{
        top: 25px;
        right: 25px;
    }
}

/* KEYFRMES */
@-webkit-keyframes cd-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes cd-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes cd-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
