/* "ropecards" folder CSS file
   Description: Master CSS file
*/

/*****************************************
Table Of Contents:

01. General Styles
02. Header
03. Description 1
04. Footer
05. Copyright
******************************************/

/*****************************************
Colors:
- Backgrounds - light gray #f7fafd
- Backgrounds - gray #e8eff6
- Buttons - red #ff556e
- Headings text, navbar links - black #333
- Body text - dark gray #777
******************************************/


/******************************/
/*     01. General Styles     */
/******************************/

body {
		margin: 0px;
		padding: 0px;
		background-color: #171717; /*fet background colour*/
	}

	.parallax {
		position:fixed;
		top: 0px;
		left: 0px;
		width: 100%;
		background-color: red;
		background-image: url(../images/parallax_img.jpg);
		min-height: 350px;
		background-attachment: fixed;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		z-index: -1;
	}
	
	.nav-bar {
		width: 100%;
		height: 30px;
		background-color: #92140C;
		position: fixed; 
		top: 0; 
		left: 0;
		z-index: 2;
		text-align: center;
	}
	
	.nav-links {
		text-align: center;
		font-weight: bold;
		
		
	}
	
	.section-title {
		text-align: center;
		font-weight: bold;
	}

		
	.main {
		margin-top: 300px;
		background-color: #171717;
		color: lightgrey;
		padding: 40px 0px;
		z-index: 1;	
	}
	
	.text-block {
		border: 1px solid lightgrey;
		background-color: #222222;
		padding: 10px;
		margin-bottom: 20px;
	}
	
	.hover-span {
		text-decoration: underline dotted;
		cursor: pointer;
	}
	
	.text-item {
		width: 100%;
		padding-left: 30px;
		position: relative;
	}
	
	:root {
		--form-control-color: #fff;
		--form-control-disabled: #959495;
	}
	
	.fancy-check {
		/* Add if not using autoprefixer */
		-webkit-appearance: none;
		/* Remove most all native input styles */
		appearance: none;
		/* For iOS < 15 */
		background-color: var(--form-background);
		/* Not removed via appearance */
		margin: 0;
	
		font: inherit;
		color: currentColor;
		width: 1.15em;
		height: 1.15em;
		border: 0.15em solid currentColor;
		border-radius: 0.15em;
		transform: translateY(-0.075em);
	
		display: grid;
		place-content: center;
		
		position: absolute;
		top: 9px;
		left: 5px;
	}
	
	input[type="checkbox"]::before {
		content: "";
		width: 0.65em;
		height: 0.65em;
		clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
		transform: scale(0);
		transform-origin: bottom left;
		transition: 120ms transform ease-in-out;
		box-shadow: inset 1em 1em var(--form-control-color);
		/* Windows High Contrast Mode */
		background-color: CanvasText;
	}
	
	input[type="checkbox"]:checked::before {
		transform: scale(1);
	}
	
	input[type="checkbox"]:focus {
		outline: max(2px, 0.15em) solid currentColor;
		outline-offset: max(2px, 0.15em);
	}
	
	input[type="checkbox"]:disabled {
		--form-control-color: var(--form-control-disabled);
	
		color: var(--form-control-disabled);
		cursor: not-allowed;
	}



.header {
	margin: auto;
	/*padding-bottom: 2px;*/
	color: darkgrey;
	font: 400 1rem/1.75rem "Open Sans", sans-serif;
	text-align: center;
	/*background: darkgrey;*/
	border-radius: 5px;
	width: 96%;
}

.card {
	margin: auto;
	/*padding-bottom: 2px;*/
	color: lightgrey;
	width: 60%;
	font: 400 1rem/1.75rem "Open Sans", sans-serif;
	text-align: left;
	/*background: lightgrey;*/
	border-radius: 5px;
	width:90%;
}

body,
html {
    width: 100%;
	height: 100%;
}


.p-large {
	font: 400 1.125rem/1.875rem "Open Sans", sans-serif;
}

.p-small {
	font: 400 0.875rem/1.5rem "Open Sans", sans-serif;
}

.p-heading {
	margin-bottom: 4rem;
	text-align: center;
}

h1 {
	color: darkgrey;
	margin: 5px;
	font: 700 2.625rem/3.375rem "Open Sans", sans-serif;
	text-align: center;
}

h2 {
	color: darkgrey;
	margin: 5px;
	font: 700 2.125rem/2.75rem "Open Sans", sans-serif;
	text-align: center;
}

h4 {
	color: #333;
	font: 700 1.25rem/1.75rem "Open Sans", sans-serif;
}

h5 {
	color: darkgrey;
	margin: 5px;
	font: 700 1.125rem/1.625rem "Open Sans", sans-serif;
	text-align: center;
}

footer {
	color: #333;
	margin: 5px;
	font: 700 1.125rem/1.625rem "Open Sans", sans-serif;
	text-align: center;
}

h6 {
	color: #333;
	font: 700 1rem/1.5rem "Open Sans", sans-serif;
}

.testimonial-text {
	font-style: italic;
}

.testimonial-author {
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.5rem;
}

.li-space-lg li {
	margin-bottom: 0.625rem;
}

a {
	color: white;
	text-decoration: underline;
}

a:visit	ed {
	color: lightgrey;
	text-decoration: underline;
}

a:hover {
	color: grey;
	text-decoration: underline;
}



a.red {
	color: #ff556e;
}

.btn-solid-reg {
	display: inline-block;
	padding: 1.1875rem 2.125rem 1.1875rem 2.125rem;
	border: 0.125rem solid #ff556e;
	border-radius: 2rem;
	background-color: #ff556e;
	color: #fff;
	font: 700 0.875rem/0 "Open Sans", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-reg:hover {
	border: 0.125rem solid #ff556e;
	background-color: transparent;
	color: #ff556e;
	text-decoration: none;
}

.btn-solid-lg {
	display: inline-block;
	padding: 1.5rem 2.375rem 1.5rem 2.375rem;
	border: 0.125rem solid #ff556e;
	border-radius: 2rem;
	background-color: #ff556e;
	color: #fff;
	font: 700 0.875rem/0 "Open Sans", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-lg:hover {
	border: 0.125rem solid #ff556e;
	background-color: transparent;
	color: #ff556e;
	text-decoration: none;
}

.btn-solid-lg .fab {
	margin-right: 0.5rem;
	font-size: 1.25rem;
	line-height: 0;
	vertical-align: top;
}

.btn-solid-lg .fab.fa-google-play {
	font-size: 1rem;
}

.btn-outline-reg {
	display: inline-block;
	padding: 1.1875rem 2.125rem 1.1875rem 2.125rem;
	border: 0.125rem solid #333;
	border-radius: 2rem;
	background-color: transparent;
	color: #333;
	font: 700 0.875rem/0 "Open Sans", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-reg:hover {
	border: 0.125rem solid #333;
	background-color: #333;
	color: #fff;
	text-decoration: none;
}

.btn-outline-lg {
	display: inline-block;
	padding: 1.5rem 2.375rem 1.5rem 2.375rem;
	border: 0.125rem solid #333;
	border-radius: 2rem;
	background-color: transparent;
	color: #333;
	font: 700 0.875rem/0 "Open Sans", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-lg:hover {
	border: 0.125rem solid #333;
	background-color: #333;
	color: #fff;
	text-decoration: none;
}

.btn-outline-sm {
	display: inline-block;
	padding: 1rem 1.5rem 1rem 1.5rem;
	border: 0.125rem solid #333;
	border-radius: 2rem;
	background-color: transparent;
	color: #333;
	font: 700 0.875rem/0 "Open Sans", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-sm:hover {
	border: 0.125rem solid #333;
	background-color: #333;
	color: #fff;
	text-decoration: none;
}

.form-group {
	position: relative;
	margin-bottom: 1.25rem;
}

.form-group.has-error.has-danger {
	margin-bottom: 0.625rem;
}

.form-group.has-error.has-danger .help-block.with-errors ul {
	margin-top: 0.375rem;
}

.label-control {
	position: absolute;
	top: 0.87rem;
	left: 1.375rem;
	color: #777;
	opacity: 1;
	font: 400 0.875rem/1.375rem "Open Sans", sans-serif;
	cursor: text;
	transition: all 0.2s ease;
}

/* IE10+ hack to solve lower label text position compared to the rest of the browsers */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
	.label-control {
		top: 0.9375rem;
	}
}

.form-control-input:focus + .label-control,
.form-control-input.notEmpty + .label-control,
.form-control-textarea:focus + .label-control,
.form-control-textarea.notEmpty + .label-control {
	top: 0.125rem;
	opacity: 1;
	font-size: 0.75rem;
	font-weight: 700;
}

.form-control-input,
.form-control-select {
	display: block; /* needed for proper display of the label in Firefox, IE, Edge */
	width: 100%;
	padding-top: 1.0625rem;
	padding-bottom: 0.0625rem;
	padding-left: 1.3125rem;
	border: 1px solid #c4d8dc;
	border-radius: 0.25rem;
	background-color: #fff;
	color: #777;
	font: 400 0.875rem/1.875rem "Open Sans", sans-serif;
	transition: all 0.2s;
	-webkit-appearance: none; /* removes inner shadow on form inputs on ios safari */
}

.form-control-select {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	height: 3rem;
}

/* IE10+ hack to solve lower label text position compared to the rest of the browsers */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
	.form-control-input {
		padding-top: 1.25rem;
		padding-bottom: 0.75rem;
		line-height: 1.75rem;
	}

	.form-control-select {
		padding-top: 0.875rem;
		padding-bottom: 0.75rem;
		height: 3.125rem;
		line-height: 2.125rem;
	}
}

select {
    /* you should keep these first rules in place to maintain cross-browser behavior */
    -webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    background-image: url('../images/down-arrow.png');
    background-position: 96% 50%;
    background-repeat: no-repeat;
    outline: none;
}

select::-ms-expand {
    display: none; /* removes the ugly default down arrow on select form field in IE11 */
}

.form-control-textarea {
	display: block; /* used to eliminate a bottom gap difference between Chrome and IE/FF */
	width: 100%;
	height: 8rem; /* used instead of html rows to normalize height between Chrome and IE/FF */
	padding-top: 1.25rem;
	padding-left: 1.3125rem;
	border: 1px solid #c4d8dc;
	border-radius: 0.25rem;
	background-color: #fff;
	color: #777;
	font: 400 0.875rem/1.75rem "Open Sans", sans-serif;
	transition: all 0.2s;
}

.form-control-input:focus,
.form-control-select:focus,
.form-control-textarea:focus {
	border: 1px solid #a1a1a1;
	outline: none; /* Removes blue border on focus */
}

.form-control-input:hover,
.form-control-select:hover,
.form-control-textarea:hover {
	border: 1px solid #a1a1a1;
}

input[type='checkbox'] {
	vertical-align: -10%;
	margin-right: 0.5rem;
}

/* IE10+ hack to raise checkbox field position compared to the rest of the browsers */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
	input[type='checkbox'] {
		vertical-align: -9%;
	}
}

.form-control-submit-button {
	display: inline-block;
	width: 100%;
	height: 3.125rem;
	border: 0.125rem solid #ff556e;
	border-radius: 1.5rem;
	background-color: #ff556e;
	color: #fff;
	font: 700 0.875rem/0 "Open Sans", sans-serif;
	cursor: pointer;
	transition: all 0.2s;
}

.form-control-submit-button:hover {
	border: 0.125rem solid #ff556e;
	background-color: transparent;
	color: #ff556e;
}

/* Form Success And Error Message Formatting */
#pmsgSubmit.h3.text-center.tada.animated,
#pmsgSubmit.h3.text-center {
	display: block;
	margin-bottom: 0;
	color: #ff556e;
	font-weight: 400;
	font-size: 1.125rem;
	line-height: 1rem;
}

.help-block.with-errors .list-unstyled {
	font-size: 0.75rem;
	line-height: 1.125rem;
	text-align: left;
}

.help-block.with-errors ul {
	margin-bottom: 0;
}
/* end of form success and error message formatting */

/* Form Success And Error Message Animation - Animate.css */
@-webkit-keyframes tada {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	10%, 20% {
		-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
	}
	30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	40%, 60%, 80% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	to {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes tada {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	10%, 20% {
		-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
	}
	30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	40%, 60%, 80% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	to {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.tada {
	-webkit-animation-name: tada;
	animation-name: tada;
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
/* end of form success and error message animation - Animate.css */

/* Fade-move Animation For Details Lightbox - Magnific Popup */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
	opacity: 0;
	transition: all 0.2s ease-out;
	-webkit-transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
	-ms-transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
	transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
	opacity: 1;
	-webkit-transform: translateY(0) perspective(37.5rem) rotateX(0); 
	-ms-transform: translateY(0) perspective(37.5rem) rotateX(0); 
	transform: translateY(0) perspective(37.5rem) rotateX(0); 
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
	opacity: 0;
	-webkit-transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg); 
	-ms-transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg); 
	transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg); 
}

/* dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
	opacity: 0;
	transition: opacity 0.2s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
	opacity: 0.8;
}
/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
	opacity: 0;
}
/* end of fade-move animation for details lightbox - magnific popup */

/* Fade Animation For Image Lightbox - Magnific Popup */
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.fadeIn {
	-webkit-animation: fadeIn 0.6s;
	animation: fadeIn 0.6s;
}

@-webkit-keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

.fadeOut {
	-webkit-animation: fadeOut 0.8s;
	animation: fadeOut 0.8s;
}
/* end of fade animation for details lightbox - magnific popup */

*, *::after, *::before {
			box-sizing: border-box;
		}
		
		.custom-modal {
			position: fixed;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) scale(0);
			transition: 200ms ease-in-out;
			border: 1px solid black;
			border-radius: 10px;
			z-index: 10;
			background-color: #222222;
			width: 500px;
			max-width: 80%;
			z-index: 10;
		}
		
		.custom-modal.active {
			transform: translate(-50%, -50%) scale(1);
			z-index: 10;
		}
		
		.custom-modal-header {
			padding: 10px 15px;
			display: flex;
			justify-content: space-between;
			align-items: center;
			border-bottom: 1px solid grey;
		}
		
		.custom-modal-header .title {
			font-size: 1.25rem;
			font-weight: bold;
			color: white; 
		}
		
		.custom-modal-header .close-button {
			cursor: pointer;
			border: none;
			outline: none;
			background: none;
			font-size: 1.25rem;
			font-weight: bold;
			color: white;
		}
		
		.custom-modal-body {
			padding: 10px 15px;
			color: white;
			max-height: 80vh;
			overflow-y: auto;
		}
		
		#overlay {
			position: fixed;
			opacity: 0;
			transition: 200ms ease-in-out;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-color: rgba(255, 255, 255, .5);
			pointer-events: none;
			z-index: 5;
		}
		
		#overlay.active {
			opacity: 1;
			pointer-events: all;
		}
