/* Custom CSS for Chris */

/* Images for icons at top */

.imgicon {
    max-height: 40px;
}

/* Images for icons on contact page */

.contactimgicon {
    max-height: 20px;
	grid-row: 1;
	border-right: solid 1px;
	padding-right: 12px;
	color: #257CF5;
}

/* Zoom for affiliations */

.zoom {
    transition: transform .2s;
}

.zoom:hover {
  transform: scale(1.2);
}

.zoomsection {
    overflow-x: visible;
}

/* Coloured background strip */

.colorback {
    padding: 30px 0px;
    background-color: #257CF5;
}

.colorback p, .colorback a, .colorback li {
    color: #fff;
}

.colorback h1 {
    color: #fff;
}

.colorback .heading {
    color: #fff;
	border-bottom: 1px solid #fff;
}

/* Image background strip, put image at 40% opacity */

.imageback {
  padding: 30px 0px;
  background-color: #6d135d;
  background-image: url("../img/background-image1.png");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
.imageback p, .imageback a, .imageback li {
  color: #fff;
}
.imageback h1 {
  color: #fff;
}
.imageback .heading {
  color: #fff;
  border-bottom: 1px solid #fff;
}

/* Mobihide and Mobishow */

.mobishow {
  display: none!important;
}

.mobihide {
  display: grid!important;
}

@media (max-width: 600px) {
     .mobishow {
      display: grid!important
      }
     .mobihide {
      display: none!important;
      }
}

/* 1px shadow all around text */

.shadowslide {
text-shadow: -1px -1px 0px #000,
         0px -1px 0px #000,
         1px -1px 0px #000,
        -1px  0px 0px #000,
         1px  0px 0px #000,
        -1px  1px 0px #000,
         0px  1px 0px #000,
         1px  1px 0px #000;
}

/* Button */

.chameleon {

  background-color: #206D8F;
  border: none;
  color: white;
  padding: 16px 32px;
  text-align: center;
  font-size: 16px;
  margin: 4px 2px;
  transition: 0.3s;

  border-radius: 5px;
  box-shadow: 0 1px 1px rgba(0,0,0,0.05),
              0 2px 2px rgba(0,0,0,0.05),
              0 4px 4px rgba(0,0,0,0.05),
              0 8px 8px rgba(0,0,0,0.05),
              0 16px 16px rgba(0,0,0,0.05);

}


.chameleon:hover {
  background-color: #EDD040;
  color: white;
  cursor: pointer;
}

/* List with different styling for first and last child, gradient border lines */

.portcullis > :first-child {
	border: 2px solid #E58DA2;
	border-bottom: #E58DA2;
	border-image-slice: 1;
	border-width: 0px 0px 2px 0px;
	border-image-source: linear-gradient(to left, #fff, #E58DA2);
	padding-bottom: 5px!important;
	padding-top: 0px!important;
}

.portcullis li {
	border: 2px solid #E58DA2;
	border-bottom: #E58DA2;
	border-image-slice: 1;
	border-width: 2px 0px;
	border-image-source: linear-gradient(to left, #fff, #E58DA2);
	padding-bottom: 5px;
	padding-top: 5px;
}

.portcullis > :last-child {
	border-bottom: none!important;
	padding-top: 5px!important;
	padding-bottom: 0px!important;
}

/* Remove List Extra Padding */

.gatehouse {
  	margin-block-start: 0px;
  	margin-block-end: 0px;
}

/* Alcove Box section  */

.alcove {
	background-color: #222;
	padding: 30px 0px;
}

.alcove .workspace {
	background-color: #fff;
	padding: 20px 0;
    border: 0.2rem solid #3dbbff;
}

.alcove .workspace .element {
	text-align: center;
	justify-self: center;
}

/* Cloister Hover Box Section */

.cloister {
	padding: 0px;
}

.cloister .workspace {
	background-color: #f7f7f7;
}

.cloister .workspace .element {
	text-align: center;
	justify-self: center;
	margin: 5px 20px;
}

.cloister .workspace .outline {
	border: 0.2rem solid #f7f7f7;
	transition: box-shadow .3s;
	border-radius: 10px;
}

.cloister .workspace .outline:hover {
  box-shadow: 0 0 11px rgba(33,33,33,.2);
}

.cloister .workspace .innerline {
	display: grid;
	margin: 20px 0px;
}

.cloister img {
	max-height: 75px;
	max-width: 75px;
}

/* Frame Image and text content */

.frame-border {
	border: solid 5px #000;
    padding: 20px;
	background-color: #8A1B21;
}

.frame-content {
	align-self: center;
	text-align: center;
	justify-self: center;
}

.frame-content strong {
	color: #fff;
}

.frame-content em {
	color: #fff;
}

.frame-border img {
	border-radius: 10px;
	max-width: 150px;
}

/* Sail Dropdown text content */

.mast {
	text-align: -webkit-center;
}

.sail {
  width: 90%;
  color: #111;
  padding: 45px 45px;
}

@media( max-width: 768px )
{
	.sail
	{
		padding: 0px;
	}
	.sail h1 {
		font-size: 1.1em;
	}
}

.sail .canvas {
  position: relative;
  margin: 10px 10px;
}

.sail .label {
  position: relative;
  padding: 10px 0;
  color: #bba058;
  cursor: pointer;
}

.sail .label::before {
  content: '+';
  color: #bba058;
  position: absolute;
  top: 50%;
  right: 0px;
  font-size: 30px;
  transform: translateY(-50%);
}

.sail .content {
  position: relative;
  height: 0;
  font-size: 1em;
  text-align: justify;
  width: 90%;
  overflow: hidden;
  transition: 0.5s;
}

.sail .contentlarger {
  position: relative;
  height: 0;
  font-size: 1em;
  text-align: justify;
  width: 90%;
  overflow: hidden;
  transition: 0.5s;
}

.sail hr {
  width: 100%;
  margin-left: 0;
  border: 1px solid #000;
}

.sail .canvas.active .content {
  height: 180px;
}

.sail .canvas.active .contentlarger {
  height: 300px;
}

@media( max-width: 1200px )
{
	.sail .canvas.active .content
	{
		height: 100%;
	}
	.sail .canvas.active .contentlarger {
		height: 100%;
	}
}

.sail .canvas.active .label::before {
  content: '-';
  font-size: 30px;
}

.roof .workspace .element {
    align-self: center;
    justify-self: center;
}

.roof .workspace .element .element h1, .roof .workspace .element .element h3 {
    justify-self: center;
    text-align: center;
}

/* Bullet Point Image Make 15px */
/*
.imglist {
  list-style-image: url("../img/pawsmall.png");
}
*/

/* HR with image in middle */
/*
hr {
    background: url("../img/flower.png") no-repeat top center;
    background-size: contain;
    display: block;
    height: 50px;
    border: 0;
    position: relative;
}
hr:before,
hr:after {
    content: '';
    display: block;
    position: absolute;
    background: #1D59A3;
    height: 2px;
    top: 22px;
}
hr:before {
    left: 0;
    right: 60%;
    margin-right: 10px;
    margin-left: 70px;
}
hr:after {
    right: 0;
    left: 60%;
    margin-left: 10px;
    margin-right: 70px;
}
*/

/* Responsive badge */

.responsive-badge {
    max-height: 250px !important; /* Force height */
    width: auto !important; /* Maintain aspect ratio */
    display: block !important; /* Ensure block-level display */
    margin: 0 auto !important; /* Center image */
}

@media (max-width: 768px) {
    .responsive-badge {
        max-height: 150px; /* Smaller size for mobile */
    }
}

/* Swap layout for desktop */
.swap-layout {
  display: flex;
  flex-direction: row-reverse; /* Image appears first on desktop */
  align-items: center;
  gap: 20px; /* Adds spacing between text and image */
}

/* Adjust for mobile */
@media (max-width: 768px) {
  .swap-layout {
    flex-direction: column; /* Stack text and image on mobile */
  }
}

/* Responsive image */
.responsive-badge {
  max-height: 250px; /* Adjust height as needed */
  width: auto; /* Maintain aspect ratio */
  display: block; /* Block display */
  margin: 0 auto; /* Center image */
}

/* Smaller image on mobile */
@media (max-width: 768px) {
  .responsive-badge {
    max-height: 150px; /* Adjust for smaller screens */
  }
}

/* Justify text for better readability */
.stretch-text {
  text-align: justify;
  text-justify: inter-word;
}

.WidgetBackground__ContentContainer-sc-1ho7q3r-2 a {
    display: none !important;
}

/* General reset to remove unwanted margins */
body, html {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Target the slide-container for mobile screens */
@media (max-width: 768px) {
    #slide-container {
        margin: 0; /* Remove any margin */
        padding: 0; /* Remove any padding */
        height: auto; /* Let content define height */
        display: block; /* Ensure no grid or flex interference */
    }

    .slide {
        display: block; /* Prevent grid spacing issues */
        width: 100%; /* Ensure full width */
        height: auto; /* Let height adjust dynamically */
    }

    .slide-img {
        width: 100%; /* Ensure image takes full width */
        height: auto; /* Keep image proportions */
        display: block;
    }
}

/* Adjust for smaller phones */
@media (max-width: 480px) {
    #slide-container {
        height: auto; /* More flexibility on smaller devices */
    }

    .slide {
        padding-top: 0; /* Ensure no added padding */
    }
}
