/* -- BASIC STYLES -- */
@font-face {font-family: headerFont; src: url("../fonts/doric-regular.ttf");}
@font-face {font-family: bodyFont; src: url("../fonts/doric-regular.ttf");}
@font-face {font-family: sansFont; src: url("../fonts/telesans-regular.otf");}
@font-face {font-family: doric-italic; src: url("../fonts/doric-italic.ttf");}
@font-face {font-family: doric-regular; src: url("../fonts/doric-regular.ttf");}
@font-face {font-family: doric-bold; src: url("../fonts/doric-bold.ttf");}

html, body {position: relative; display: block; width: 100%; overflow-x: hidden; background-color: #fff; scroll-behavior: smooth;}
body {overflow: hidden;}
h1, h2, h3, h4, h5, h6 {font-family: 'doric-regular', serif; color: #222;}
p, ul li {font-family: 'bodyFont', serif; font-size: 18px;}
img {position: relative; display: block; width: 100%; margin-right: auto;}
a {color: inherit;}
a:hover {color: inherit;}
input::placeholder {font-family: "sansFont", sans-serif; font-size: 14px; color: #D9D9D9; line-height: 16px; text-transform: capitalize !important; overflow: visible !important; padding-right: 27px;}
label {margin-top: 10px; margin-bottom: 5px;}
label.error {position: relative; display: block; color: red;}
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0;}
input[type=number] {-moz-appearance: textfield !important;}
a.buttonAnchor:hover {text-decoration: none;}

/* -- BACKGROUND OBJECTS -- */
#bodyContentWrapper {
	padding: 50px;
	overflow: hidden;
	max-width: 600px;
}
.arrow {
	position: absolute;
	display: block;
	width: 0; 
	height: 0; 
}
#arrowTopLeft {
	border-top: 30px solid transparent;
	border-right: 30px solid #02c3aa;
	border-bottom: 30px solid transparent; 
	top: -20px;
	left: -4px;
	transform: rotate(45deg);
}
#arrowBottomRight {
	border-top: 30px solid #ef5f9e;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	bottom: -4px;
	right: -20px;
	transform: rotate(-45deg);
}

/* -- INTRO SECTION -- */
h2 {
	font-family: 'sansFont', sans-serif;
	font-size: 18px;
	margin-bottom: 0px;
}
h3 {
	font-size: 24px;
	color: #000000;
}

/* -- GENERAL CALC -- */
#calculatorWrapper {
	position: relative;
	display: block;
	width: 100%;
	background-color: #fff;
	padding: 25px 0;
	font-family: 'doric-regular';
}

.calcRow {
	display: none;
}
.calcRow.active {
	display: flex;
}
.calcCol {
	padding-right: 30px;
}

h4 {
	font-size: 24px;
	color: #000000;
}

h4.requiredFields {
	font-family: "bodyFont";
	font-size: 16px;
	text-align: right;
}
.inputRow {
	display: none;
}
.inputRow.required {
	display: flex;
}
span.requiredFieldMarker {
	position: absolute;
	font-size: 20px;
	color: #93339f;
}
.inputWrapper, .selectWrapper {
	position: relative;
	display: block;
	width: 100%;
}
.inputWrapper .requiredFieldMarker,
.selectWrapper .requiredFieldMarker {
	display: block;
	font-size: 25px;
	bottom: 4px;
	right: 10px;
	pointer-events: none;
}
.inputRow .inputWrapper input,
.inputRow .selectWrapper select {
	position: relative;
	display: block;
	width: 100%;
	font-size: 14px;
	padding: 14px 27px 12px 12px;
	border: 1px solid #000000;
	border-radius: 10px;
	background-color: transparent;
}

#postcodelookup {
	background-color: #CC2E82 !important;
	border: none !important;
}

@media only screen and (min-width: 1024px) {
	#postcodelookup {
			width: 90%;
			margin-left: auto;
	}
}
@media only screen and (min-width: 768px) {
	#postcodelookup {
		width: 100%;
		margin-top: 1rem;
	}
}
@media only screen and (max-width: 600px) {
  #postcodelookup {
    width: 100%;
    margin-top: 1rem;
  }
}
#helperText {
	font-size: 16px;
}

#helperText a {
	text-decoration: underline;
}

.selectWrapper select {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.selectWrapper i.fa-chevron-down {
	position: absolute;
	display: block;
	font-size: 25px;
	top: 14px;
	right: 25px;
	color: #001464;
	pointer-events: none;
}
.form-group button,
input[type="submit"],
input[type="button"] {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 8px;
	padding-left: 12px;
	padding-right: 12px;
	border-radius: 10px;
	padding-bottom: 10px;
	font-size: 18px;
	color: #fff;
	background-color: #045E6C;
	border: none;
}
input[type="submit"] {
	margin-top: 10px;
}
input[type="button"] {
	font-size: 16px;
	border: 1px solid #17183b;
	border-bottom: none;
}
.form-group {
	margin-bottom: 3px;
}
.hiddenFields {
	display: none;
}


/* -- STEP ONE CALC -- */
#stepOne .calcCol {
	border-right: 2px solid #ddd;
}
.infoCol {
	padding-left: 30px;
}
.infoCol ul {
	padding-left: 0px;
	margin-bottom: 25px;
}
.infoCol ul li {
	list-style-type: none;
	padding-left: 5px;
	padding-top: 5px;
	padding-bottom: 5px;
	/* background: url('../img/tmg-tick.png') left center / 18px no-repeat; */
}
.infoCol p {
	font-size: 16px;
}
#emailCol {
	padding-right: 5px;
}
#postCol {
	padding-left: 5px;
}
#bothCol {
	margin-bottom: 10px;
}
.radioButtonBox {
	position: relative;
	display: block;
	width: 100%;
	padding: 10px 10px;
	cursor: pointer;
}
/* .radioButtonBox.active {

	background-color: #CC2E82;
}
.radioButtonBox#guidePost p {
	background-image: url('../img/tmg-icon-post.png');
}
.radioButtonBox#guideEmail p {
	background-image: url('../img/tmg-icon-email.png');
}
.radioButtonBox#guideBoth p {
	background-image: url('../img/tmg-icon-postandemail.png');
} */
/* .radioButtonBox#guidePost.active p {
	background-image: url('../img/tmg-icon-post-white.png');
}
.radioButtonBox#guideEmail.active p {
	background-image: url('../img/tmg-icon-email-white.png');
}
.radioButtonBox#guideBoth.active p {
	background-image: url('../img/tmg-icon-postandemail-white.png');
} */
.radioButtonBox p {
	font-family: "sansFont";
	margin-bottom: 0px;
	font-size: 14px;
	/* padding-left: 30px; */
	margin-left: 10px;
	background-position-x: left;
	background-position-y: center;
	background-size: 25px;
	background-repeat: no-repeat;
}
/* .radioButtonBox.active p {
	color: #fff;
} */
.fakeRadioButton {
	position: absolute;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 10px;
	top: 15px;
	left: 5px;
	padding-top: 2px;
	padding-left: 2px;
	border: 1px solid;
}
.fakeRadioButton .selectedMarker {
	position: relative;
	display: none;
	width: 6px;
	height: 6px;
	border-radius: 10px;
	background-color: #045E6C;
}
.radioButtonBox.active .fakeRadioButton .selectedMarker {
	display: block;
}

/* -- STEP TWO CALC -- */
#disclaimerRow.inactive {
	display: none;
}
#compactDisclaimerRow.inactive {
	display: none;
}
#brochureImg {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}
#stepTwo h4 {
	margin-bottom: 0px;
}
#postcodelookuplist {
	padding-right: 55px;
}

/* -- STEP THEE CALC (RESULTS) -- */
.resultsBox {
	border: 1px solid #D9D9D9;
	padding: 1.5rem;
	background-color: #fff;
	margin-bottom: 25px;
	text-align: center;
	border-radius: 10px;
}
.resultsBox h5 {
	font-size: 30x;
	margin-bottom: 1rem;
	font-weight: bold;
}
.resultsBox h6 {
	font-size: 30px;
	margin-bottom: 0px;
	color: #FF77B7;
}
.resultsCol {
	border-bottom: 1px solid #222;
}
.scheduleCol {
	border-right: 1px solid #222;
	margin-top: 30px;
	margin-bottom: 30px;
}
.viewGuideCol {
	margin-top: 30px;
	margin-bottom: 30px;
}
.scheduleCol button {
	position: relative;
	display: block;
	width: 80%;
	padding: 15px;
	border-radius: 6px;
	background-color: #FF77B7;
	color: #fff;
	border: none;
	border-radius: 10px;
}
.viewGuideCol button {
	position: relative;
	display: block;
	width: 80%;
	padding: 15px;
	border-radius: 6px;
	background-color: #045E6C;
	color: #fff;
	border: none;
	border-radius: 10px;
	margin-top: 27px;
}
#calendarIcon {
	max-height: 150px;
	width: auto;
	margin-left: auto;
	margin-bottom: 10px;
}
#resultsGuideImg {
	max-height: 150px;
	width: auto;
	margin-left: auto;
	margin-bottom: 10px;
	max-width: 100%;
}

/* -- HOT FIXES -- */
#titleCol .form-group .selectWrapper i.fa-chevron-down {
	right: 10px;
}
#headerImg {
	width: 55%;
	margin-bottom: 10px;
	max-width: 500px;
}
#headline {
	display: none;
}
#disclaimerEmailNotice, #disclaimerEmailNotice2, #tmg_email {
	display: none;
}
#disclaimerEmailNotice.active, #disclaimerEmailNotice2.active, #tmg_email.active {
	display: inline;
}

/* -- ADAPTIVE STYLES -- */
	/* -- LARGE SCREEN BREAKPOINT -- */
	@media (max-width: 1199.98px) {
		#brochureImg {
			width: 80%;
		}
	}
	/* -- MEDIUM SCREEN BREAKPOINT -- */
	@media (max-width: 991.98px) {
		.scheduleCol {
			border-right: none;
			padding-bottom: 30px;
			margin-bottom: 0px;
		}
	}
	/* -- SMALL SCREEN BREAKPOINT -- */
	@media (max-width: 767.98px) {
		#bodyContentWrapper {
			padding: 30px 15px;
		}
		h1 {
			font-size: 2rem;
			margin-bottom: 0px;
		}
		#introText {
			font-size: 16px;
			font-weight: bold;
		}
		.radioButtonBox#guideBoth {
			margin-top: 0px;
		}
		.infoCol {
			padding-left: 15px;
		}
		.calcCol {
			padding-right: 15px;
		}
		label {
			margin-bottom: 5px;
			margin-top: 5px;
		}
		#disclaimerRow {
			margin-top: 0px;
		}
		#disclaimerRow p {
			font-size: 16px;
		}
		#brochureImg {
			width: 100%;
		}
		#viewGuideCol {
			display: none;
		}
	}
	/* -- MOBILE SCREEN BREAKPOINT -- */
	@media (max-width: 575.98px) {
		.arrow-left {
			top: -40px;
		}
		.arrow-down {
			right: -40px;
		}
		p, ul li {
			font-size: 16px;
		}
		h2 {
			font-size: 16px;
		}
		h3 {
			font-size: 20px;
			margin-bottom: 10px;
		}
		#introCol {
			padding-left: 10px;
			padding-right: 10px;
		}
		#calcWrapperCol {
			padding-left: 10px;
			padding-right: 10px;
		}
		#calculatorWrapper {
			padding: 10px 20px;
		}
		.calcCol {
			padding-top: 10px;
		}
		h4 {
			font-size: 22px;
			margin-bottom: 10px;
		}
		h4.requiredFields {
			font-size: 14px;
			margin-bottom: 10px;
			margin-top: 7px;
			margin-right: 10px;
		}
		.radioButtonBox {
			margin-bottom: 10px;
		}
		#bothBox {
			margin-bottom: 0px;
		}
		#stepOne .calcCol {
			border-right: none;
			padding-bottom: 10px;
		}
		.infoCol .disclaimer {
			margin-bottom: 0px;
		}
		.form-check-label {
			font-size: 16px;
		}
		.form-check-input {
			margin-left: 20px !important;
			margin-right: 10px !important;
		}
		.resultsBox h5 {
			font-size: 16px;
		}
		.resultsBox h6 {
			font-size: 30px;
		}
		.scheduleCol button {
			margin-top: 15px;
			padding: 15px 5px;
		}
		.viewGuideCol button {
			margin-top: 15px;
			padding: 15px 5px;
		}
		#brochureImg {
			width: 80%;
		}
	}

/* -- CONTENT SPECIFIC ADAPTIVE STYLES - (Non-conventional breakpoints) -- */


/*JOHNS CHANGES */
.check-container {
    display: inline-block;
    position: relative;
    padding-left: 22px;
    margin-bottom: 12px;
    margin-right: 16px;
    cursor: pointer;
    font-size: 12px;
	border-radius: 50%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.check-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 16px;
    width: 16px;
    background-color: #eee;
	border-radius: 50%;
}

.check-container:hover input~.checkmark {
    background-color: #ccc
}

.check-container input:checked~.checkmark {
    background-color: #045E6C;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none
}

.check-container input:checked~.checkmark:after {
    display: block
}

.check-container .checkmark:after {
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.checkbox {
    width: 12px
}

/* -- HOTFIXES -- */
.stepOneDisclaimer#compactDisclaimerRow #stepTwoDisclaimer {
	display: none;
}
.phoneEmail {
    padding-left: 18px;
    margin-bottom: 12px;
    margin-left: 1px;
    margin-right: 0px;
}

#introText {
	font-size: 18px;
	font-weight: bold;
	line-height: normal;
	margin-top: 2rem;
}

.container-fluid {
	max-width: 1140px !important;
	margin: 0 auto;
	border: 1px solid #D9D9D9;
	padding: 30px;
	font-family: '';
}

.chevronIcon {
	position: absolute;
	display: block;
	top: 20px;
	right: 20px;
	pointer-events: none;
}

#stepTwoDisclaimer {
	font-family: 'doric-regular';
}

.hyperlink {
	text-decoration: underline !important;
}