


		/* ................... Start of pagination */

		#pagin_container
		{
			width: 95%;
			margin: 0 auto;

			border: 1px solid green;
			padding: 5px;

			display: flex;
			flex-wrap: wrap;

			justify-content: space-around;
		}

		#sort_method_text_prefix
		{
			color: #0000cc;

				/* font-size: 14px; */
				font-size: 11px;

			font-weight: bold;

			border: 1px solid gray;
			margin-right: 7px;
			padding: 1px;
		}

		#sort_dropdown_div
		{
			border: 1px solid gray;
			padding: 3px;
		}

		#pagin_button_div
		{
			border: 1px solid gray;
			padding: 3px;
		}

		#pagin_button_div button
		{
					/* font-size: 16px; */
					font-size: 12px;

			margin-right: 10px;
			background-color: #f0f0f5;

			transition: 0.25s;
		}

		#pagin_button_div button:hover
		{
			background-color: #00b33c;
		}

		select
		{
				/* font-size: 2.0vw; */
					font-size: 12px;
				/* font-size: 14pt; */

			border: 1px solid orange;
			border-radius: 4px;
		}

		select optgroup
		{
				font-size: 12px;

			font-family: arial;
		}

		select > [label]
		{
			font-size: 12px;

			color: #B01517;
			font-style: normal; /* italic does not work for Edge it seems ... but using "normal" here anyway */
		}

		optgroup > option
		{
			color: black;
			/* font-style: italic; */

				/* font-size: 17px; */
				font-size: 12px;

			font-family: "Times New Roman";
		}

		@media only screen and (min-width: 1600px)
		{ /* Bootstrap breakpoints: (down page a bit) https://getflywheel.com/layout/css-breakpoints-responsive-design-how-to/ */

			#pagin_container
			{
				width: 70%;
			}
		}

		/* ................... End of pagination */

		* {
			box-sizing: border-box;
		}

		.grid-container
		{
			position: relative;
			width: 95%;
			margin: 0 auto;

			display: grid;

			/* grid-template-columns: auto; */ /* Make the grid smaller than the container */
			grid-template-columns: 1fr 1fr;

			justify-content: space-evenly; /* THIS! is most likely ineffective when using "fr" instead of "auto" */
										   /* see homepage ... where you're having to use "auto" to be able to use: "justify-content" */
			grid-gap: 10px;

			background-color: #d2e2ef;
			padding: 10px;
		}

		.grid-container > div
		{
			background-color: rgba(255, 255, 255, 0.8);
			text-align: center;
			padding: 20px 10px;
								font-size: 1em;
			border: 1px solid red;

			transition: 0.1s;
		}

		.grid-container img
		{
			/* width: 100%; */
				max-width: 100%; /* max-width isn't actually needed it seems ... but leave active anyway */

			/* padding: 5%; */
			padding: 10px;

			/* border: 1px solid green; */
		}

		h2.product_title
		{
			color: #3916A2;

			font-size: 13px;

			font-family: arial;
			font-weight: bold;

			text-decoration: underline;
			margin-bottom: 3px;

			margin: 0;
			margin-bottom: 5px;
		}

		.size_range
		{
			color: #137B40;

			font-size: 13px;

			padding-bottom: 10px;
			text-decoration: underline;
			margin-top: 5px;
		}

		.price_from
		{
			color: #DD8929;

			font-size: 13px;

			font-weight: 600;
			font-style: italic;
			padding-bottom: 10px;
		}

		.purchase_details
		{
			color: #8e1c2f;

			font-size: 13px;

			font-weight: 600;
		}

		.purchase_details a:hover
		{
			color: #aa1656;
		}

		/* Great article ... https://webplatform.github.io/docs/tutorials/understanding-css-units/ */
		/* xxxxxxxxxxxx */
		@media only screen and (min-width: 495px)
		{
			/* Bootstrap breakpoints: (down page a bit) https://getflywheel.com/layout/css-breakpoints-responsive-design-how-to/ */

			/* Absolutely Magic! ... "fr" locks the width to the proportion of available space ... Always! Based on the Number! of "fr"s stated in */
			/* "grid-template-columns:" as below ... similar (if not exactly the same) as Flex's "Grow" */

			/* The cool! thing is that even when an element is removed using JS ... the remaining elements width-proportion doesn't change */
			/* E.G. 1fr / (1fr 1fr 1fr 1fr) = 20% ... and if you remove say 2 elements ... the remaining 3 still have a width of 20% */

			/* "auto" on the other hand as was used before ... expands the remaining elements to fill 100% of the available space */
			/* after any elements have been removed */

			.grid-container_mobile
			{
				/* grid-template-columns: auto; */
				grid-template-columns: 1fr 1fr;
			}
		}

		@media only screen and (min-width: 768px)
		{
			.grid-container_mobile
			{
				/* grid-template-columns: auto auto; */
				grid-template-columns: 1fr 1.15fr 1.45fr;
			}
		}

		@media only screen and (min-width: 992px)
		{
			.grid-container_mobile
			{
				/* grid-template-columns: auto auto auto; */
				grid-template-columns: 1fr 1.15fr 1.45fr;
			}
		}

		@media only screen and (min-width: 1200px)
		{
			.grid-container_mobile
			{
				/* grid-template-columns: auto auto auto auto; */
				grid-template-columns: 1fr 1.15fr 1.45fr;
			}

			select, select > [label], optgroup > option, #pagin_button_div button
			{
				font-size: 16px;
			}

			#sort_method_text_prefix
			{
				font-size: 14px;
			}

			h2.product_title
			{
				font-size: 19px;
			}

			.size_range
			{
				font-size: 17px;
			}

			.price_from
			{
				font-size: 15px;
			}

			.purchase_details
			{
				font-size: 15px;
			}
		}

		@media only screen and (min-width: 1350px)
		{ /* Bootstrap's highest is ... 1200px ... according to the above link */
			.grid-container_mobile
			{
				/* grid-template-columns: auto auto auto auto auto; */
				/* grid-template-columns: 1fr 1fr 1fr 1fr 1fr; */
				grid-template-columns: 1fr 1.15fr 1.45fr;
			}
		}

		@media only screen and (min-width: 1600px)
		{
			.grid-container_mobile
			{
				width: 70%;
			}
		}
