/*overriding bootstrap styles*/
.text-muted {
    color: #979797 !important;
}

.dropdown-item {
    font-size: 16px;
    padding: 0.5rem 1.5rem;
    color: #295B96;
    border-bottom: 1px solid #d8d8d8;
}

.dropdown-item:last-child {
    border: 0;
}

.btn {
    text-transform: uppercase;
}

.capitalize {
    text-transform: capitalize !important;
}

.btn-primary:disabled {
	background: #dadada !important;
	color: #a4a4a4;
	border-color: #dadada;
}

.btn-primary {
    background: #295B96 !important;
}

.btn-primary:hover {
    background: #305cde;
}

.btn-light {
    color: #295B96;
    background-color: #f0f1f1;
    border-color: #f0f1f1;
}

.btn-light:hover {
    color: #305cde;
}

.btn-outline-primary {
    border-color: #295B96;
    color: #295B96;
}

.btn-outline-primary:disabled {
    color: #a4a4a4 !important;
    border-color: #a4a4a4;
}

.btn-outline-primary:hover {
    background-color: #295B96;
    color: #ffffff;
}

.btn-outline-warning {
	border-color: #FF4D00;
	color:#FF4D00;
}

.btn-outline-warning:disabled {
	color: #a4a4a4 !important;
	border-color: #a4a4a4;
}

.btn-outline-warning:hover {
	background-color: #305cde;
	color: #ffffff;
}

.btn-primary:disabled {
	background: #dadada;
	color: #a4a4a4;
	border-color: #dadada;
}

a.btn.disabled {
	pointer-events: none;
	opacity: 1 !important;
	background: #dadada!important;
	color: #a4a4a4!important;
	border-color: #dadada!important;
}
/*end overriding bootstrap styles*/


/* ------ font-sizes ------ */
.font8 {
    font-size: 0.5rem !important;
}

.font12 {
    font-size: 12px !important;
}

.font14 {
    font-size: 14px !important;
}

.font15 {
    font-size:  0.9375rem !important;
}

.font16 {
    font-size: 16px !important;
}

.font18 {
    font-size: 18px !important;
}

.font19 {
    font-size: 19px !important;
}

.font20 {
    font-size: 20px !important;
}

.font22 {
    font-size: 22px !important;
}

.font24 {
    font-size: 1.5rem !important;
}

.font25 {
    font-size: 25px !important;
}

.font28 {
    font-size: 1.75rem !important;
}

.font30 {
    font-size: 30px !important;
}

.font38 {
    font-size: 2.375rem !important;
}

.font40 {
    font-size: 40px !important;
}

.font50 {
    font-size: 50px !important;
}
/* ------ end font-sizes ------ */

/* ------ text-colors ------ */
.text-red {
    color: #BF8096 !important;
}

.text-dark-red {
    color: #cb3b3b !important;
}

.text-green {
    color: #78A59C !important;
}

.text-blue {
    color: #416DEF !important;
}

.text-yellow {
    color: #CDBB73 !important;
}

.text-purple {
    color: #757EC9 !important;
}

.text-grey {
    color: #9E9E9E !important;
}

.text-grey-light {
    color: #8C8C8C !important;
}

.text-grey-dark {
    color: #868686 !important;
}

.text-grey-darker {
    color: #676767 !important;
}

.text-warning-custom {
    color: #FF8515 !important;
}

.text-muted-custom {
    color: #C0C0C0 !important;
}

/* ------ end text-colors ------ */

/* ------ background-colors ------ */
.bg-white {
    background: #FFF !important;
}

.bg-grey {
    background: #F3F3F3 !important;
}

.bg-light-grey {
    background: #F8F8F8 !important;
}

.bg-light-red {
    background: #FAE6ED !important;
}

.bg-light-shade-red{
	background: #FFECEC !important;
}

.bg-light-green {
    background: #E2F7F2 !important;
}

.bg-light-yellow {
    background: #FFFAE6 !important;
}

.bg-light-purple {
    background: #ECEEFF !important;
}

.bg-dark-grey {
    background: #DADADA !important;
}

.bg-darker-grey {
    background: #D4D4D4 !important;
}

.bg-light-blue {
	background: #D9EDFF !important;
}

.bg-glass-green {
	background: #D2F4EA !important;
}

.bg-bleach-white {
	background: #FFF1E3 !important;
}

.bg-primary {
    background: #295B96 !important;
}
/* ------ end background-colors ------ */

/* ------ buttons ------ */
.btn-transparent {
    color: #305cde;
    background: transparent;
    border: 0;
}

.btn-transparent:hover {
    background: #f0f1f1;
}

.btn-radius {
    border-radius: 7px;
}
/* ------ end buttons ------ */

/* ------ heights and widths ------ */
.height-33 {
    height: 33px !important;
}

.height-60 {
    height: 60px !important;
}

.height-100 {
    height: 100px !important;
}

.height-230 {
    height: 230px !important;
}

.height-250 {
    height: 250px !important;
}

.height-450 {
    height: 450px !important;
}

.height-500 {
    height: 500px !important;
}

.height-525 {
    height: 525px !important;
}

.height-700 {
    height: 700px !important;
}

.height-806 {
    height: 806px !important;
}

.min-height-10vh {
    min-height: 10vh !important;
}

.min-height-15vh {
    min-height: 15vh !important;
}

.min-height-18vh {
    min-height: 18vh !important;
}

.min-height-80vh {
    min-height: 80vh !important;
}

.max-height-80vh {
    max-height: 80vh !important;
}

.min-height-56px {
    min-height: 56px !important;
}

.width-30 {
    width: 1.8rem;
}

.width-55 {
    width: 55px !important;
}

.width-60 {
    width: 60px !important;
}

.width-72 {
    width: 72px !important;
}

.width-80 {
    width: 80px !important;
}

.width-144 {
    width: 144px !important;
}

.width-20 {
    width: 20px !important;
}

.w-0 {
    width: 0 !important;
}

.w-10 {
    width: 10% !important;
}

.w-20 {
    width: 20% !important;
}

.w-11 {
    width: 11% !important;
}

.w-87 {
    width: 87% !important;
}

.max-height-67 {
    max-height: 67px !important; 
}

.max-height-100 {
    max-height: 100px !important;
}

.max-height-95 {
    max-height: 95px !important;
}

.max-height-128 {
    max-height: 128px !important;
}

.max-height-450 {
    max-height: 450px !important;
}

.max-width-492 {
    max-height: 492px !important;
}

.max-width-678 {
    max-width: 678px !important;
}

.max-width-710 {
    max-width: 710px !important;
}

.max-width-756 {
    max-width: 756px !important;
}

.max-width-900 {
    max-width: 900px !important;
}

.max-width-1000 {
    max-width: 1000px !important;
}

.max-width-1200 {
    max-width: 1200px !important;
}

.h-fit-content {
    height: fit-content !important;
}

.w-fit-content {
    width: fit-content !important;
}
/* ------ end heights and widths ------ */

/* ------ margins ------ */
.my-32 {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
}

.mx-24 {
    margin-left: 24px !important;
    margin-right: 24px !important;
}

.mb-40 {
    margin-bottom: 2rem !important; /*equivalent to 40px here*/
}
.mb-50 {
    margin-bottom: 50px !important;
}
.mb-80 {
    margin-bottom: 5rem !important; /*equivalent to 40px here*/
}
.ml-108 {
    margin-left: 108px !important; /*equivalent to 108px here*/
}
.ml-12 {
	margin-left: 0.75rem !important;
}

/* ------ end margins ------ */

/* ------ paddings ------ */
.pt-1020 {
    padding-top: 1.2rem!important
}

.pl-40 {
    padding-left: 40px !important;
}

.py-1020 {
    padding: 0 1.25rem!important;
}

@media screen and (min-width: 1200px) {
	.pl-xl-40 {
		padding-left: 2.5rem !important;
	}
}
/* ------ end paddings ------ */

/* ------ borders ------ */
.border-radius-5 {
    border-radius: 5px !important;
}
/* ------ end borders ------ */

/*different than d-none as this one does not have !important*/
.display-none {
    display: none;
}

.scrollable {
    overflow-y: auto;
}

.overflow-x-auto {
    overflow-x: auto;
}

.opacity-25 {
    opacity: 0.25 !important;
}

.opacity-70 {
	opacity: 0.70 !important;
}

.link-disable {
    opacity: 0.5 !important;
    text-decoration: none !important;
    pointer-events: none !important;
}

.no-anchor-effects {
	color: #343a40!important;
    text-decoration: none !important;
    pointer-events: none !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

/*to show modal top of all including menu*/
/* TODO: ADD A BETTER IMPLEMENTATION */
.custom-modal-backdrop {
    z-index: 100000 !important;
}

.z-index-0{
    z-index: 0 !important;
}

.z-index-1{
    z-index: 1 !important;
}

.z-index-2{
    z-index: 2 !important;
}

.z-index-1079 {
	z-index: 1079;
}

.custom-modal {
    z-index: 100001 !important;
}

.text-preline {
    white-space: pre-line !important;
}

/* ------ Start tops ------ */
.top-85 {
    top: 85px !important;
}

.sticky-title {
	position: -webkit-sticky;
	position: sticky;
	top: 58px !important;
	z-index: 1020;
}

/* ------ end tops ------ */

.enable-cursor:hover {
    cursor: pointer !important;
}

.move-right{
    position: absolute !important;
    right: 0;
}

.border-dashed {
    border: 2px dashed;
}
.border-grey {
    border-color: #BBBBBB;
}
.image-dim-40 {
    width: 40px;
    height: 40px;
}

.break-word {
    word-break: break-word;
}

/* ------ progress bar ------------*/
.infinite-progress-bar-container {
    height: 1.2rem;
    border: 2px solid #295B96;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

.infinite-progress-bar {
    width: 20%;
    height: 100%;
    background-color: #0F55FF;
    position: absolute;
    animation: move-progress 3s linear infinite;
}

.infinite-progress-bar-full {
    width: 100%;
    height: 100%;
    background-color: #0F55FF;
    position: absolute;
}

@keyframes move-progress {
    0% {
        left: 0;
    }
    100% {
        left: 100%;
    }
}

.criteria-and-preReq-container {
    max-height: 530px;
    overflow: auto;
}

.criteria-and-preReq {
    height: 450px;
    overflow: auto;
}

.criteria-and-preReq::-webkit-scrollbar {
    width: .5rem;
}

.pre-requisite {
    overflow-y:auto;
    max-height: 150px;
    border: #bebbbb solid 1px;
    border-radius: 10px;
}
.pre-requisite::-webkit-scrollbar {
    width: .5rem;
}

.height-100-percent {
    height: 100%;
}

.min-width-50-percent {
	min-width: 50% !important;
}

.gradient-bg-green {
    background-color: #08AEEA;
    background-image: linear-gradient(0deg, #08AEEA 0%, #2AF598 100%);
}

.ems-banner {
    background: url("/resources/images/ems-banner-bg.svg") no-repeat center;
    width: 100%;
    background-size: cover;
}

.ems-about {
    background: url("/resources/images/ems-about-bg.svg") no-repeat center;
    width: 100%;
    background-size: cover;
}

.ems-about-page {
    background: url("/resources/images/ems-about-page-bg.svg") no-repeat center;
    width: 100%;
    background-size: cover;
}

.rounded-1rem {
    border-radius: 1rem !important;
}

.academic-grade-style {
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    border: 1px solid #C0D0FF;
    margin-right: 1.5rem;
}

.school-card-style {
    padding: 1rem 2rem;
}

.statistics-bg {
    background: #f8fafc;
}

.stat-btn {
    color: #07264E !important;
}

.stat-btn:hover {
    color: #0F55FF !important;
    background: #D9EDFF !important;
    border: #0F55FF !important;
}

.btn-link {
    font-weight: 400;
    color: #295B96;
    text-decoration: none
}

.btn-link:hover {
    color: #295B96;
    text-decoration: underline
}

a {
    color: #295B96;
}

.school-table-style {
    overflow: auto;
    position: relative;
    max-height: 500px;
    width: 100%;
    border-radius: 5px;
}

.school-answer-sheet-table-input-cell-width {
    min-width: 50px !important;
    max-width: 100px !important;
    white-space: normal !important;
}

.school-answer-sheet-table-cell-width {
    min-width: 150px !important;
    max-width: 200px !important;
    white-space: normal !important;
}

.school-table-changed-bg-color {
    background-color: #DEEFFF;
}

.disabled {
    pointer-events: none;
    opacity: 1 !important;
    background: #E9ECEF;
    border: 1px solid #BBBBBB;
}
