﻿body {
	/*padding-top: 2px;
	padding-bottom: 20px;*/
	background-color: silver;
    font-family: Tahoma;
}

/*@media only screen and (min-width: 576px) {
	body {
		background-color: silver;
	}
}*/

.body-content {
	background-color: white;
}

/* Set padding to keep content from hitting the edges */
@media only screen and (max-width: 767px) {
	.body-content {
		padding-left: 2px;
		padding-right: 2px;
	}
}
/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
	white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
	max-width: 1020px;
}

button {
	text-transform: uppercase;
}
.nav-item, dropdown-item {
	font-size: 18px;
	color: black;
	text-transform: uppercase;
	margin: 0 5px 0 5px;
	font-weight: bold;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.nav-item, dropdown-item {
		font-size: 16px;
	}
}

@media only screen and (min-width: 769px) and (max-width: 991px) {
	.nav-item, dropdown-item {
		font-size: 12px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 768px) {
	.nav-item, dropdown-item {
		font-size: 10px;
	}
}

.row {
	margin: 0 2px;
	border: none;
	padding: 0;
}

.info-box {
	padding: 20px 20px 0 20px;
}

.headline {
	font-size: 32pt;
	margin: 0 10px 0 0;
}

.section-header {
	font-size: 18pt;
	margin: 10px 0;
}

.portal-title-text {
	font-size: 20pt;
}

.portal-form-header {
	font-size: 24pt;
}

.portal-form-subheader {
	font-size: 20pt;
}

@media only screen and (max-width: 575px) {
	.headline {
		font-size: 20pt;
		margin: 0 5px 0 0;
	}
	.portal-title-text {
		font-size: 16pt;
	}
	.hat-logo{
		height: 39px;
		width: 54px;
	}
}

.booking-info-section {
	border-radius: 10px;
	border: solid 1px black;
	margin: 5px 0;
}

@media only screen and (min-width: 992px) {
	.booking-info-section {
		max-width: 48% !important;
		margin-right: 1% !important;
		margin-left: 1% !important;
	}

}

.booking-info-header {
	font-size: 14pt;
	font-weight: bold;
}

.booking-info-text {
	font-size: 12pt;
	padding: 0 2px;
}

.portal-form-text {
	font-size: 12pt;
}

.mandatory-text {
	color: red;
	font-size: 12pt;
	font-weight: bold;
	text-transform: uppercase;
	margin-left: 5px;
}

.info-block {
	margin: 20px 0 0 0;
}

.info-section, .info-section span {
	display: flex;
	align-items: flex-end;
	height: 30px;
}

.info-section {
	margin-bottom: 16px;
}

.info-section-hint {
	font-style: italic;
	font-size: 90%;
}

.info-bullet {
	margin: 0 10px 4px 0;
}

.info-bullet-small {
	margin: 0 5px 2px 0;
}

.info-line {
	font-size: 14pt;
	margin: 0 3px;
}

@media only screen and (max-width: 575px) {
	.info-line {
		font-size: 12pt;
		margin: 0 2px;
	}
}

.info-para {
	font-size: 14pt;
}

@media only screen and (max-width: 575px) {
	.info-para {
		font-size: 12pt;
	}
}

.finder-form-container1 {
	width: 100%;
	padding: 0 5% 20px 5%;
	display: block;
	margin-bottom: 6px;
}

.finder-form-title {
	font-size: 16pt;
	text-transform: uppercase;
	padding-top: 12px;
}

.image-box-background {
	border: none;
	margin: 0;
	padding: 0;
	background-color: #ffb53b;
}

.image-centre-align {
	display: flex;
	justify-content: center;
	align-items: center;
}



.form-control {
	font-size: 18pt;
}

.search-bar-link, .search-bar-link:hover, .search-bar-link:visited {
	color: rgb(73, 80, 87);
	text-decoration: none;
}

.search-bar-link:hover {
	font-weight: bold;
}

.search-bar-results-container {
	max-height: 250px;
	overflow-y: scroll;
}

.three-forms-container {
	background-color: white;
	padding: 80px 10px 40px 10px;
}

.quick-form-container {
	text-align: center;
}

@media only screen and (max-width: 991px) {
	.quick-form-container {
		margin-bottom: 60px;
	}
}

.quick-form-title {
	font-size: 16pt;
	text-transform: uppercase;
	min-height: 30px;
}

.quick-form-text {
	font-size: 12pt;
	margin: 10px;
	height: 100px;
}

.quick-form-hint {
	margin: 10px;
	height: 60px;
}

.quick-form-hint a, .quick-form-hint a:hover, .quick-form-hint a:visited {
	font-size: 12pt;
	font-style: italic;
	text-decoration: none;
}

.form-hint {
	display: block;
	height: 60px;
}

.form-hint a, .form-hint a:hover, .form-hint a:visited {
	font-size: 18pt;
	font-style: italic;
	text-decoration: none;
}

.portal-form-hint, .portal-form-hint:hover, .portal-form-hint:visited {
	font-size: 18pt;
	font-style: italic;
	text-decoration: none;
}

.quick-form-button {
	font-size: 14pt;
}

.circular-square {
	border-radius: 50%;
}

.top-icon {
	margin-top: -45px;
	margin-bottom: 16px;
}

.form-filler {
	height: 48px;
}

.img-fluid {
	width: 100%;
}

.align-bottom {
	display: flex;
	align-items: flex-end;
}

.container-lg .container-md {
	padding-left: 2px;
	padding-right: 2px;
}

@media only screen and (min-width: 992px) {
	.mini-2col-container {
		padding-top: 20px;
	}
}

@media only screen and (max-width: 991px) {
	.mini-2col-container, .mini-4col-container {
		padding-top: 20px;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.mini-4col-container {
		padding-top: 100px;
	}
}

@media only screen and (min-width: 1200px) {
	.mini-4col-container {
		padding-top: 60px;
	}
}

a.info-link, a.info-link:hover, a.info-link:visited {
	text-decoration: none;
	padding: 6px 0;
	margin: 0;
}

a.info-link:hover {
	font-weight: bold;
}

.horizontal-form-container {
	margin: 0 2px;
	border: none;
	padding: 10px 0 20px 0;
}

@media only screen and (min-width: 576px) {
	.no-horizontal-padding {
		padding-left: 0;
		padding-right: 0;
	}
}

.footer {
	color: black;
	background-color: white;
	padding: 20px 0;
	margin: 0;
	border: none;
}

.footer-link {
	margin: 0 5px;
}

.footer-link a, .footer-link a:hover, .footer-link a:visited {
	text-decoration: none;
	font-weight: 400;
}

.footer-link a:hover {
	font-weight: 800;
}

.modal-header, .modal-footer {
	font-weight: bold;
}

.modal-body {
	font-size: 18px;
}

.col-form-label{
	font-size: 24px;
}

.required {
	color: red;
	margin: 20px 0 0 0px;
	padding: 0;
}
.help-img {
	margin: 0;
	padding: 0;
}

.tooltip-inner {
	background-color: yellow;
	color: #000;
	opacity: 1.0;
	filter: alpha(opacity=50); /* For IE8 and earlier */
}

.field-validation-error {
	font-size: 18px;
	color: red;
}

.portal-title {
	padding: 20px 30px;
}

.portal-title{
	padding: 20px 30px;
}

.portal-image {
	background-image: url("https://livewebimages.blob.core.windows.net/webimageslive/WebsiteImages/Design/grads-wide.png");
}

.portal-login-form {
	border: 1px solid black;
	border-radius: 10px;
	padding: 10px 0;
}

.selected-step {
	background-color: #e8ecea;
	text-align: center;
	padding: 10px 0;
}

.step {
	background-color: #141d45;
	text-align: center;
	padding: 10px 0;
	border-left: 1px solid white;
	border-right: 1px solid white;
}

.selected-step-title {
	color: black;
	text-transform: uppercase;
	font-size: 16px;
}

.step-title {
	color: white;
	text-transform: uppercase;
	font-size: 16px;
}

.step-form {
	color: black;
	background-color: #e8ecea;
	padding: 10px 10px;
	margin: 0;
}
.step-form-header {
	background-color: #e8ecea;
	margin: 0;
}

.portal-footer {
	margin: 0;
	padding: 10px 0px;
	font-size: 18px;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.step-form {
		padding: 10px 10px;
		margin: 0 50px;
	}
	.step-form-header {
		margin: 0 50px;
	}
}

@media only screen and (max-width: 991px) {
	.step-title, .selected-step-title {
		font-size: 12px;
	}
	.step-hat{
		width: 40px;
		height: 40px;
	}
}
.portal-warning{
	font-size: 18px;
}
@media (max-width: 767px) {
	.container-sm {
		padding: 0
	}
}

.photo-category-container{
	padding: 5px;
	margin: 10px 0;
	border: solid 1px black;
}

.photo-category-name {
	padding: 20px;
	font-size: 20px;
}

.photo-product-name {
    padding: 20px;
    font-size: 20px;
}

.photo-category-description {
	color: black;
	background-color: white;
	padding: 20px;
	font-size: 18px;
	height: 140px;
}

.photo-category-description-no-teaser {
    height: 75px;
}

.photo-category-from {
	position: absolute;
	bottom: 20px;
	margin-top: 35px;
	color: black;
	background-color: white;
	font-size: 24px;
	font-weight: bold;
}

.from-price {
	font-size: 36px;
}

.best-seller-img {
	border-radius: 50%;
	z-index: 1001;
	position: absolute;
	top: 20px;
	left: 20px;
	float: left;
}

a.product-selector, a.product-selector:hover, a.product-selector:visited {
	text-decoration: none; 
}

.print-info-container{
	padding: 20px 0;
}

.print-sizes {
	border: none;
	padding: 20px 10px;
	font-size: 14pt;
}

.print-sizes-header{
	font-size: 18pt;
}

.print-other{
	color: black;
}

.print-other-section {
	border: 1px dashed #ffb53b;
	margin: 0;
	padding: 5px;
	background-color: white;
}

.print-other-section-top{
	margin-bottom: 18px;
}

.print-other-section-bottom {
	margin-top: 18px;
}

.print-other-cell {
	padding: 21px 10px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.print-sizes-header {
		font-size: 16pt;
	}
	.print-sizes {
		font-size: 12pt;
		padding: 26px 10px;
	}
	.print-other-section {
		padding: 0;
	}

	.print-other-section-top {
		margin-bottom: 10px;
	}

	.print-other-section-bottom {
		margin-top: 10px;
	}

	.print-other-cell {
		padding: 14px 10px;
	}
	.photo-category-name {
		font-size: 18px;
		height: 96px;
	}
    .photo-product-name {
        font-size: 18px;
        height: 160px;
    }

	.photo-category-description {
		font-size: 14px;
		height: 150px;
	}

    .photo-category-description-no-teaser {
        height: 70px;
    }

	.photo-category-from {
		bottom: 20px;
		margin-top: 35px;
		font-size: 18px;
	}
}

@media only screen and (max-width: 991px) {
	.print-other-section-top {
		margin-top: 20px;
	}
}

@media only screen and (min-width: 1200px){
	.photo-category-name{
		height: 96px;
	}
    .photo-product-name {
        height: 150px;
    }
	.photo-category-description{
		height: 180px;
	}
    .photo-category-description-no-teaser {
        height: 74px;
    }
}

.breadcrumb-item, .breadcrumb-item a, .breadcrumb-item a:hover, .breadcrumb-item a:visited {
	color: black;
}

.breadcrumb-item + .breadcrumb-item::before {
	color: black;
	content: ">";
}

.product-name {
	padding: 20px;
	font-size: 18pt;
	margin: 0 5px;
}

.byo-title {
	padding: 20px;
	font-size: 18pt;
}

.item-name {
	padding: 20px;
	font-size: 16pt;
}

.product-summary {
	font-size: 12pt;
	background-color: white;
	padding: 20px;
}

.show-more-link, .show-more-link:hover, .show-more-link:visited {
	font-size: 12pt;
	text-decoration: none;
}

.product-price {
	font-size: 20pt;
}

.product-quantity {
	font-size: 20pt;
	width: 40px;
}

.option-name {
	padding: 10px 10px 0 10px;
	font-size: 14pt;
	font-weight: bold;
}

.option-prompt {
	font-size: 12pt;
	background-color: white;
	padding: 10px;
}

.portal-product-selected-container {
	margin: 10px 0;
	border: 1px solid black;
}

.portal-product-selected-title {
	padding: 20px;
	font-size: 18pt;
}

.portal-product-selected {
	padding: 20px;
	font-size: 16pt;
	background-color: #f6f6f6;
}

.portal-product-selected-total {
	/*padding: 20px;*/
	font-size: 20pt;
	font-weight: bold;
	text-transform: uppercase;
	/*background-color: #f6f6f6;*/
}

.portal-product-selected-note {
	font-size: 12pt;
	text-transform: none;
}

.add-to-basket-button {
	font-size: 16pt;
	font-weight: bold;
}

.you-may-also-like-title {
	padding: 20px;
	font-size: 18pt;
	text-align: center;
	margin-bottom: 20px;
}

.order-summary-ceremony {
	border: 1px dashed #fcca4c;
	text-align: center;
	font-size: 16pt;
	font-weight: bold;
	margin: 20px 0;
	padding: 20px 0;
	background-color: white;
}

.order-summary-section {
	padding: 0;
	margin: 20px 0;
	border: solid 1px black;
}

.order-section-container{
	border: none;
	padding: 0;
	margin: 0;
}

.order-summary-section-header {
	margin: 0;
	padding: 20px 40px;
	font-size: 14pt;
	font-weight: bold;
	text-align: left;
}

.order-summary-section-detail {
	color: black;
	margin: 0;
	padding: 20px 30px;
	font-size: 12pt;
	text-align: left;
}

.order-summary-section-detail-prompt {
	font-weight: bold;
}

.order-summary-table, .order-summary-table thead, .order-summary-table tbody, .order-summary-table tr {
	color: black;
	width: 100%;
	margin-bottom: 0;
}

.order-summary-table thead, .order-summary-table thead tr {
	width: 100%;
}

.order-summary-table thead tr td {
	color: white;
	background-color: #b2b2b2;
	padding: 20px 30px;
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
}

.ost-header-cell{
	border:none;
	border-right: 1px white solid;
}

.ost-type {
	margin: 0;
	padding: 0;
}

.ost-type td {
	padding: 10px 30px;
	font-size: 11pt;
	font-weight: bold;
	text-align: left;
}

.ost-button {
	font-size: 10pt;
}

.ost-cell {
	padding-top: 2px;
	padding-bottom: 2px;
}

.ost-cell td {
	font-size: 10pt;
	padding-top: 2px;
	padding-bottom: 2px;
	border-top: 1px dotted gray;
}

.ost-row-separator {
	max-height: 2px;
	margin: 0;
	padding: 0;
}
.ost-row-separator td {
	border-top: 1px dotted gray;
	border-bottom: 1px dotted gray;
	max-height: 2px;
	margin: 0;
	padding: 0;
}

.ost-cell-bold {
	padding-top: 10px;
	padding-bottom: 10px;
}

.ost-cell-bold td {
	font-weight: bold;
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: none;
}

.ost-cell-left {
	border-right: 1px dotted gray;
}

.ost-description-cell{
	padding-left: 30px;	
}

.order-terms-warning {
	border: 1px dashed #fcca4c;
	text-align: center;
	font-size: 12pt;
	margin: 20px 0;
	padding: 20px 0;
	color: black;
	background-color: white;
}

.page-title {
	text-align: center;
	padding-top: 10px;
	padding-left: 20px;
}

.page-title h1 {
	text-align: center;
	font-size: 20pt;
}

.tab-content {
	color: black;
	background-color: white;
}

a.nav-link {
	font-size: 16pt;
	font-weight: normal;
	text-transform: none;
}

.tab-pane {
	color: black;
	background-color: white;
	padding: 20px;
}

form-container{
	color: black;
	background-color: white;
	padding: 20px;
	margin: 10px 0;
}

.tab-pane{
	border: solid 1px black;
}

.form-button-row{
	margin-top: 20px;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
	border-color: black black white black;
}

.child-form-container{
	border: 1px solid black;
	border-radius: 10px;
	padding: 10px 5px 20px 5px;
	margin: 20px 0;
}

.form-container {
	border: 1px solid black;
	border-radius: 10px;
	padding: 10px 5px 20px 5px;
	margin: 4px;
}

.tab-header-link:hover{
	cursor: pointer;
}

.order-form {
	background-color: #e8ecea;
	padding: 10px;
}

.customer-image {
	max-height: 900px;
	max-width: 900px;
}

.customer-image {
	max-height: 100%;
	max-width: 100%;
}

.customer-image-thumb {
	max-height: 300px;
	max-width: 300px;
}

.static-article {
	padding: 30px;
	margin: 0 2px;
	font-size: 1.2em;
}

.contact-icon {
	display: block;
	padding-top: 10px;
}

.contact-info {
	display: block;
	margin-bottom: 10px;
}

.content-separator{
	min-height: 50px;
}

.button-row{
	margin-top: 10px;
	margin-bottom: 10px;
}

.shopping-cart{
	text-align: right;
	color: black;
	font-size: 28px;
}

.questionnaire-intro {
	font-size: 1.2em;
}

.question-heading {
	font-size: 1.7em;
}

.checkbox-container{
	margin: 0 20px;
}

.cbox {
	width: 20px;
	position: relative;
	top: 15px;
}

.change-section-btn {
	padding: 0.375rem 0.5rem;
	font-size: 0.7rem;
}

.home-page {
    background-image: url("https://livewebimages.blob.core.windows.net/webimageslive/WebsiteImages/Design/HomePageImage/NewHomePageImage1.jpg");
    background-size: cover;
    padding: 30em 10em 5em 10em
}

.item-list {
    width: 100%;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
}

.item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border-radius: 8px;
    background: #f9fafc;
    margin-bottom: 12px;
    transition: background-color 0.3s;
}

    .item:hover {
        background: #e1e8f0;
    }

    .item span {
        font-size: 16px;
        color: #333;
    }

    .item input[type="checkbox"] {
        width: 20px;
        height: 20px;
        cursor: pointer;
        accent-color: #4a90e2;
        transition: transform 0.2s;
    }

        .item input[type="checkbox"]:hover {
            transform: scale(1.1);
        }

.total {
    font-weight: bold;
    font-size: 18px;
    text-align: right;
    margin-top: 20px;
}

#total-price {
    font-weight: bold;
}

@media (min-width: 410px) {
	.change-section-btn {
		font-size: 1rem;
	}
}

@media (min-width: 520px) {
	.change-section-btn {
		padding: 0.375rem 2.2rem
	}
}

.review-btns {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

@media (min-width: 530px) {
	.review-btns {
		flex-direction: row;
	}
}


.gallery-image:hover {
	border: solid;
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.nav-size {
		font-size: 14pt !important;
	}
}

.new-order-tab {
	font-size: 9pt !important;
	padding: 0.2rem;
}

.organisation-logo {
    max-height: 160px;
    max-width: 380px;
}

@media (min-width: 576px) {
	.new-order-tab {
		font-size: 12pt !important;
		padding: 0.4rem;
	}

    .organisation-logo {
        max-height: 160px;
        max-width: 520px;
    }
}

@media (min-width: 768px) {
	.new-order-tab {
		font-size: 14pt !important;
		padding: 0.4rem 1rem;
	}

    .organisation-logo {
        max-height: 160px;
        max-width: 650px;
    }
}

@media (min-width: 992px) {
	.new-order-tab {
		font-size: 16pt !important;
		padding: 1rem;
	}

	/*.photo-product-image {
		height: 308px;
	}

	.photo-category-image {
		height: 201.3px
	}*/

    .organisation-logo {
        max-height: 144px;
        max-width: 465px;
    }
}

@media (min-width: 1200px) {
    .organisation-logo {
        max-height: 144px;
        max-width: 550px;
    }
}

/*@media (min-width: 1200px) {
	.photo-product-image {
		height: 383px;
	}

	.photo-category-image {
		height: 249.3px;
	}
}*/

@media (max-width: 767.9px) {
	.order-summary-table thead tr td {
		padding: 10px;
	}
}

@media (max-width: 575.9px) {
	.small-text-xs {
		font-size: 12pt !important;
	}

	.portal-product-selected-total {
		font-size: 15pt;
	}

	.portal-product-selected-note {
		font-size: 8pt;
	}
}