.font-weight-normal { font-weight: 400 !important; }

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

.align-top { vertical-align: top !important; }
.align-middle { vertical-align: middle !important; }
.align-bottom { vertical-align: bottom !important; }

.table-responsive {
	display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.small {
	font-size: 80%;
    font-weight: 400;
}

.d-flex { display: flex !important; }
.d-block { display: block !important; }
.d-inline-block { display: inline-block !important; }

.row {
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
	position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
	-ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.col-1 {
	-ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
}

.col-2 {
	-ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-3 {
	-ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
	-ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-5 {
	-ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.col-6 {
	-ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
	-ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
}

.col-8 {
	-ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.col-9 {
	-ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
	-ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-11 {
	-ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
}

.col-12 {
	-ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

/*Spacing*/

.mt-0, .my-0 { margin-top: 0 !important;}
.mr-0, .mx-0 { margin-right: 0 !important; }
.mb-0, .my-0 { margin-bottom: 0 !important; }
.ml-0, .mx-0 { margin-left: 0 !important; }

.mt-1, .my-1 { margin-top: .25rem !important;}
.mr-1, .mx-1 { margin-right: .25rem !important; }
.mb-1, .my-1 { margin-bottom: .25rem !important; }
.ml-1, .mx-1 { margin-left: .25rem !important; }

.mt-2, .my-2 { margin-top: .5rem !important;}
.mr-2, .mx-2 { margin-right: .5rem !important; }
.mb-2, .my-2 { margin-bottom: .5rem !important; }
.ml-2, .mx-2 { margin-left: .5rem !important; }

.mt-3, .my-3 { margin-top: 1rem !important;}
.mr-3, .mx-3 { margin-right: 1rem !important; }
.mb-3, .my-3 { margin-bottom: 1rem !important; }
.ml-3, .mx-3 { margin-left: 1rem !important; }

.mt-4, .my-4 { margin-top: 1.5rem !important;}
.mr-4, .mx-4 { margin-right: 1.5rem !important; }
.mb-4, .my-4 { margin-bottom: 1.5rem !important; }
.ml-4, .mx-4 { margin-left: 1.5rem !important; }

.mt-5, .my-5 { margin-top: 3rem !important;}
.mr-5, .mx-5 { margin-right: 3rem !important; }
.mb-5, .my-5 { margin-bottom: 3rem !important; }
.ml-5, .mx-5 { margin-left: 3rem !important; }

.mt-auto, .my-auto { margin-top: auto !important; }
.mr-auto, .mx-auto { margin-right: auto !important; }
.mb-auto, .my-auto { margin-bottom: auto !important; }
.ml-auto, .mx-auto { margin-left: auto !important; }


.pt-0, .py-0 { padding-top: 0 !important;}
.pr-0, .px-0 { padding-right: 0 !important; }
.pb-0, .py-0 { padding-bottom: 0 !important; }
.pl-0, .px-0 { padding-left: 0 !important; }

.pt-1, .py-1 { padding-top: .25rem !important;}
.pr-1, .px-1 { padding-right: .25rem !important; }
.pb-1, .py-1 { padding-bottom: .25rem !important; }
.pl-1, .px-1 { padding-left: .25rem !important; }

.pt-2, .py-2 { padding-top: .5rem !important;}
.pr-2, .px-2 { padding-right: .5rem !important; }
.pb-2, .py-2 { padding-bottom: .5rem !important; }
.pl-2, .px-2 { padding-left: .5rem !important; }

.pt-3, .py-3 { padding-top: 1rem !important;}
.pr-3, .px-3 { padding-right: 1rem !important; }
.pb-3, .py-3 { padding-bottom: 1rem !important; }
.pl-3, .px-3 { padding-left: 1rem !important; }

.pt-4, .py-4 { padding-top: 1.5rem !important;}
.pr-4, .px-4 { padding-right: 1.5rem !important; }
.pb-4, .py-4 { padding-bottom: 1.5rem !important; }
.pl-4, .px-4 { padding-left: 1.5rem !important; }

.pt-5, .py-5 { padding-top: 3rem !important;}
.pr-5, .px-5 { padding-right: 3rem !important; }
.pb-5, .py-5 { padding-bottom: 3rem !important; }
.pl-5, .px-5 { padding-left: 3rem !important; }


/*These do all sides at once, no need to write them separately in Secondary Maths Onscreen  Q07.D1.08*/
.p-0 { padding: 0 !important; }
.p-1 { padding: .25rem !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.p-5 { padding: 3rem !important; }

.m-0 { margin: 0 !important; }
.m-1 { margin: .25rem !important; }
.m-2 { margin: .5rem !important; }
.m-3 { margin: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.m-5 { margin: 3rem !important; }


.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    padding-right: 15px;
    padding-left: 15px;
  }


@media (min-width: 576px) {

	.ml-sm-5, .mx-sm-5 {
        margin-left: 3rem !important;
    }
    .mr-sm-5, .mx-sm-5 {
        margin-right: 3rem !important;
    }

	.pl-sm-0, .px-sm-0 {
        padding-left: 0rem !important;
    }
    .pr-sm-0, .px-sm-0 {
        padding-right: 0rem !important;
    }

	.pl-sm-1, .px-sm-1 {
        padding-left: .25rem !important;
    }
    .pr-sm-1, .px-sm-1 {
        padding-right: .25rem !important;
    }

	.pl-sm-2, .px-sm-2 {
        padding-left: .5rem !important;
    }
    .pr-sm-2, .px-sm-2 {
        padding-right: .5rem !important;
    }

    .pl-sm-3, .px-sm-3 {
        padding-left: 1rem !important;
    }
    .pr-sm-3, .px-sm-3 {
        padding-right: 1rem !important;
    }

    .pl-sm-4, .px-sm-4 {
        padding-left: 1.5rem !important;
    }
    .pr-sm-4, .px-sm-4 {
        padding-right: 1.5rem !important;
    }

    .pl-sm-5, .px-sm-5 {
        padding-left: 3rem !important;
    }
    .pr-sm-5, .px-sm-5 {
        padding-right: 3rem !important;
    }
}
