@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/*
Theme Name: hy5
Theme URI: https://www.hy5.com
Author: C21 Creative Communications
Author URI: https://c-21.co.uk
Description: The hy5 theme for WordPress. 
Version: 1.00

Tags: hy5
*/

/*
z-index's

4
header

*/

img.imageStretch
{
  width:100%;
}

video.videoStretch
{
  width:100%;
}

.imageGrowth
{
  overflow:hidden;
}
.imageGrowth img:first-child
{
  transition: all 3.0s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.imageGrowth img:first-child:hover
{
  -ms-transform: scale(1.10); /* IE 9 */
  -webkit-transform: scale(1.10); /* Safari */
  transform:scale(1.10);
}

p img,
.wp-caption,
img.size-thumbnail,
img.size-medium,
img.size-large,
img.size-full
{
  max-width:100%;
  height:auto;
  margin-bottom:5px;
}


.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

a
{
  color:inherit;
  text-decoration:none; /*bootstrap 5 defaults to underline*/
  outline:none; /*remove outline on image links, looks nicer.  If its needed for accessibility we can put it back in later*/
  
  cursor:pointer; /*for when <a doesn't have href, ie onclick="javascript*/
}

p a:hover
{
  color:inherit;
  /*text-decoration:none;*/
  outline:none; 
}

a:focus
{
  text-decoration:none;
  outline:none; 
}

h1, h2, h3, h4, h5, h6
{
  padding:0px;
  margin:0px;
}

p
{
  padding:0px;
  margin:0px;

  line-height:120%;
  padding-bottom:30px;
}

p a
{
  text-decoration:none;
  color:#1064EB;
  font-weight:600;
}

small,
.small
{
  display:inline-block;
  line-height:150%;
}

.container
{
  transition:all 0.15s;
}

html
{
  scrollbar-color:#1064EB #140F4B;
}

body
{
  overflow-x:hidden;
}

/* Style adjustments for viewports 320px and over go here, anything smaller than 320 treat it as 320 */
@media all and (min-width: 0px)
{
  body
  {
    margin:0;
    padding:0;
    /*height:100%;*/

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:400;
    font-style:normal;
    font-size:20px;
    color:#444444;

    -webkit-text-size-adjust: none; /* Prevent font scaling on iOS devices */
  }

  h1
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:39px;
    line-height:1.25;
    margin-bottom:45px;
  }

  h2
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:36px;
    line-height:1.25;
    margin-bottom:35px;
  }

  h3
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:30px;
    line-height:1.25;
    margin-bottom:20px;
  }

  h4
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:36px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h5
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:25px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h6
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:20px;
    line-height:1.2;
    margin-bottom:2px;
  }

  /*default 1 columns*/
  .grid-item
  {
    width:100%;
  }
  
  .grid-item img
  {
    width:100%;
  }

  .counterIcon
  {
    display:block;
    margin-left:auto;
    margin-right:auto;
    width:160px;
    max-width:160px;
    margin-bottom:10px;
  }
  .counterNumber,
  .counterUnit
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:80px;
    line-height:1.22!important;
    margin-bottom:15px;

    display:inline-block;
  }
  .counterLabel
  {
    display:block;
  }

  .logoHeader
  {
    max-width:85px;
  }

  .Center
  {
    padding-top:35px;
    padding-bottom:35px;
  }
  .logoCenter
  {
    height:80px;
    max-width:275px;
    margin-bottom:10px;
  }

  .buttonSmall
  {
    display:inline-block;

    padding-top:7px;
    padding-bottom:7px;
    padding-left:28px;
    padding-right:28px;

    margin-left:3px;
    margin-right:3px;
    margin-bottom:20px;

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:15px;
    text-align:center;
    border:1px solid transparent;
    border-radius:19px;

    transition:all 0.3s ease-out;
  }
  .buttonMedium
  {
    display:inline-block;

    padding-top:6px;
    padding-bottom:6px;
    padding-left:28px;
    padding-right:28px;

    margin-left:3px;
    margin-right:3px;
    margin-bottom:30px;

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:20px;
    text-align:center;
    border:1px solid transparent;
    border-radius:22px;

    transition:all 0.3s ease-out;
  }
  .buttonLarge
  {
    display:inline-block;

    padding-top:9px;
    padding-bottom:9px;
    padding-left:30px;
    padding-right:30px;

    margin-left:3px;
    margin-right:3px;
    margin-bottom:30px;

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:20px;
    text-align:center;
    border:1px solid transparent;
    border-radius:25px;

    transition:all 0.3s ease-out;
  }

  .boxHolder .triangleTopLeft
  {
    display:none;
  }
  .boxHolder .triangleTopRight
  {
    display:none;
  }

  .boxHolder .triangleBottomLeft
  {
    display:none;
  }
  .boxHolder .triangleBottomRight
  {
    display:none;
  }
  
  .imageHolder .triangleTopLeft
  {
    display:none;
  }
  .imageHolder .triangleTopRight
  {
    display:none;
  }

  .imageHolder .triangleBottomLeft
  {
    display:none;
  }
  .imageHolder .triangleBottomRight
  {
    display:none;
  }

  .footer
  {
    font-size:14px;
    line-height:18px;
    padding-top:30px;
    padding-bottom:30px;
  }

  .logoFooter
  {
    max-width:110px;
    padding-bottom:40px;
  }

  ul.footerLinks
  {
    list-style:none;
    padding:0px;
    margin:0px;
    margin-bottom:25px;
    font-size:18px;
    line-height:22px;
  }
}


/*iPhone 6 or iPhone 5 sideways*/
@media all and (min-width: 375px)
{

}

@media all and (min-width: 576px)
{

}


/* Small devices (tablets, 768px and up) */
@media (min-width: 768px)
{
  body
  {
    margin:0;
    padding:0;
    /*height:100%;*/

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:400;
    font-style:normal;
    font-size:19px;
    color:#444444;

    -webkit-text-size-adjust: none; /* Prevent font scaling on iOS devices */
  }

  h1
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:47px;
    line-height:1.25;
    margin-bottom:50px;
  }

  h2
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:40px;
    line-height:1.25;
    margin-bottom:50px;
  }

  h3
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:36px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h4
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:36px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h5
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:25px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h6
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:20px;
    line-height:1.2;
    margin-bottom:5px;
  }

  /*default 2 columns*/
  .grid-item
  {
    width:50.00%;
  }
  
  .grid-item img
  {
    width:100%;
  }

  .counterIcon
  {
    display:block;
    margin-left:auto;
    margin-right:auto;
    width:160px;
    max-width:160px;
    margin-bottom:10px;
  }
  .counterNumber,
  .counterUnit
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:75px;
    line-height:1.22!important;
    margin-bottom:15px;

    display:inline-block;
  }
  .counterLabel
  {
    display:block;
  }

  .logoHeader
  {
    max-width:110px;
  }

  .Center
  {
    padding-top:50px;
    padding-bottom:50px;
  }
  .logoCenter
  {
    height:85px;
    max-width:275px;
    margin-bottom:15px;
  }

  .imageHolder .triangleTopLeft
  {
    display:block;
    position:absolute;
    z-index:1;

    top:-1px;
    left:-1px;
    /*pointer-events:none;*/

    width:10%;
  }
  .imageHolder .triangleTopRight
  {
    display:block;
    position:absolute;
    z-index:1;

    top:-1px;
    right:-1px;
    /*pointer-events:none;*/

    width:10%;
  }

  .imageHolder .triangleBottomLeft
  {
    display:block;
    position:absolute;
    z-index:1;

    bottom:-1px;
    left:-1px;
    /*pointer-events:none;*/

    width:10%;
  }
  .imageHolder .triangleBottomRight
  {
    display:block;
    position:absolute;
    z-index:1;

    bottom:-1px;
    right:-1px;
    /*pointer-events:none;*/

    width:10%;
  }
}


/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px)
{
  body
  {
    margin:0;
    padding:0;
    /*height:100%;*/

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:400;
    font-style:normal;
    font-size:19px;
    color:#444444;

    -webkit-text-size-adjust: none; /* Prevent font scaling on iOS devices */
  }

  h1
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:50px;
    line-height:1.25;
    margin-bottom:50px;
  }

  h2
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:40px;
    line-height:1.25;
    margin-bottom:50px;
  }

  h3
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:36px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h4
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:36px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h5
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:25px;
    line-height:1.25;
    margin-bottom:25px;
  }

  h6
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:20px;
    line-height:1.2;
    margin-bottom:5px;
  }

  /*default 3 columns*/
  .grid-item
  {
    width:33.33%;
  }

  .grid-item img
  {
    width:100%;
  }

  .counterIcon
  {
    display:block;
    margin-left:auto;
    margin-right:auto;
    width:160px;
    max-width:160px;
    margin-bottom:10px;
  }
  .counterNumber,
  .counterUnit
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:75px;
    line-height:1.22!important;
    margin-bottom:15px;

    display:inline-block;
  }
  .counterLabel
  {
    display:block;
  }

  .logoHeader
  {
    max-width:110px;
  }

  .Center
  {
    padding-top:75px;
    padding-bottom:75px;
  }
  .logoCenter
  {
    height:90px;
    max-width:275px;
    margin-bottom:20px;
  }
}


/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px)
{
  .counterNumber,
  .counterUnit
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:80px;
    line-height:1.22!important;
    margin-bottom:15px;

    display:inline-block;
  }
}

@media (min-width: 1300px)
{
  
}


@media (min-width: 1400px)
{
  body
  {
    margin:0;
    padding:0;
    /*height:100%;*/

    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:400;
    font-style:normal;
    font-size:20px;
    color:#444444;

    -webkit-text-size-adjust: none; /* Prevent font scaling on iOS devices */
  }

  .counterNumber,
  .counterUnit
  {
    font-family:"Montserrat", sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    font-size:90px;
    line-height:1.22!important;
    margin-bottom:15px;

    display:inline-block;
  }
}


@media (min-width: 1600px)
{
  
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl
  {
    max-width:1430px;
  }
  
}

@media (min-width: 1680px)
{
  .boxHolder .container,
  .boxHolder .container-fluid
  {
    position:relative;
    z-index:2;
  }

  .boxHolder .triangleTopLeft
  {
    display:block;
    position:absolute;
    z-index:1;

    top:-1px;
    left:-1px;
    /*pointer-events:none;*/

    height:100%;
  }
  .boxHolder .triangleTopRight
  {
    display:block;
    position:absolute;
    z-index:1;

    top:-1px;
    right:-1px;
    /*pointer-events:none;*/

    height:100%;
  }

  .boxHolder .triangleBottomLeft
  {
    display:block;
    position:absolute;
    z-index:1;

    bottom:-1px;
    left:-1px;
    /*pointer-events:none;*/

    height:100%;
  }
  .boxHolder .triangleBottomRight
  {
    display:block;
    position:absolute;
    z-index:1;

    bottom:-1px;
    right:-1px;
    /*pointer-events:none;*/

    height:100%;
  }
}

@media (min-width: 768px)
{
  .container-margin-override-left
  {
    margin-left: 10% !important;
  }

  .container-margin-override-right
  {
    margin-right: 10% !important;
  }
}

.container-margin-left
{
  margin-left: 15px;
}

.container-margin-right
{
  margin-right: 15px;
}

@media (min-width: 576px)
{
  .container-margin-left
  {
    margin-left: calc(((100vw - 540px - 15px) / 2) + 15px);
  }

  .container-margin-right
  {
    margin-right: calc(((100vw - 540px - 15px) / 2) + 15px);
  }
}

@media (min-width: 768px)
{
  .container-margin-left
  {
    margin-left: calc(((100vw - 720px - 15px) / 2) + 15px);
  }

  .container-margin-right
  {
    margin-right: calc(((100vw - 720px - 15px) / 2) + 15px);
  }
}

@media (min-width: 992px)
{
  .container-margin-left
  {
    margin-left: calc(((100vw - 960px - 15px) / 2) + 15px);
  }

  .container-margin-right
  {
    margin-right: calc(((100vw - 960px - 15px) / 2) + 15px);
  }
}

@media (min-width: 1200px)
{
  .container-margin-left {
    margin-left: calc(((100vw - 1140px - 15px) / 2) + 15px);
  }

  .container-margin-right {
    margin-right: calc(((100vw - 1140px - 15px) / 2) + 15px);
  }
}

@media (min-width: 1400px)
{
  .container-margin-left {
    margin-left: calc(((100vw - 1320px - 15px) / 2) + 15px);
  }

  .container-margin-right
  {
    margin-right: calc(((100vw - 1320px - 15px) / 2) + 15px);
  }
}

@media (min-width: 1600px)
{
  .container-margin-left
  {
    margin-left: calc(((100vw - 1430px - 15px) / 2) + 15px);
  }

  .container-margin-right
  {
    margin-right: calc(((100vw - 1430px - 15px) / 2) + 15px);
  }
}
/*
@media (min-width: 1900px)
{
  .container-margin-left
  {
    margin-left: calc(((100vw - 1670px) / 2) + 15px);
  }

  .container-margin-right
  {
    margin-right: calc(((100vw - 1670px) / 2) + 15px);
  }
}
*/


header
{
  width:100%;
  position:sticky;

  /*position:absolute;*/
  top:0px;
  z-index:4;
  top:0px;
  
  background-color:white;
  background-color:rgba(253, 253, 253, 0.987); /*Just off white*/
  box-shadow:0 0px 10px rgba(0, 0, 0, 0.04);
  border-bottom:1px solid #E5E3E3;
  transition:all 0.4s;
}
.header
{
  padding-top:21px;
  padding-bottom:17px;
}

.panelBg
{
  height:100%;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}

.boxHolder,
.imageHolder
{
  position:relative;
  overflow:hidden;
}

/*
.imageHolder img
{
  -webkit-clip-path: polygon(20% 0%, 80% 0%, 100% 0%, 100% 80%, 80% 100%, 0% 100%, 0% 86%, 0% 20%);
  clip-path: polygon(20% 0%, 80% 0%, 100% 0%, 100% 80%, 80% 100%, 0% 100%, 0% 86%, 0% 20%);
}
*/


ul.footerLinks li
{
  padding-bottom:10px;
}

ul.footerLinks a
{
  display:inline-block;
  margin-bottom:0px;
}

.buttonSocial
{
  display:inline-block;
  height:34px;
  width:34px;
  border-radius:50%;
  border:0px;
  overflow:hidden;
  text-align:center;
  font-size:19px;
  line-height:34px;
  color:white!important;
  margin-left:4px;
  margin-right:4px;
  margin-bottom:8px;

  transition: all 0.3s;

  border:1px solid white;
}
.buttonSocial .fab,
.buttonSocial .fas {
  position: relative;
  top: 0px;
}


.buttonRounded
{
  border-radius:10px;
}
.buttonSquared
{
  border-radius:0px;
}


/*
  Remove ugly default square blue outlines on Firefox and Chrome.
  Remove ugly default square black outline on Microsoft Edge (Chromium).
  Safari's is rounded
*/
/*Any Firefox*/
@-moz-document url-prefix() 
{
  input:focus,
  select:focus,
  textarea:focus,
  button:focus 
  {
    outline:none;
  }
}
/*Chrome 29+*/
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm)
{
  input:focus,
  select:focus,
  textarea:focus,
  button:focus 
  {
    outline:none;
  }
}


.blueDark
{
  color:#140F4B;
}

.blueMedium
{
  color:#464573;
}

.blueBright
{
  color:#1064EB;
}

.bluePale
{
  color:#3D8BF2;
}

.greyDark
{
  color:#444444;
}

.greyLight
{
  color:#F2F2F2;
}

.white
{
  color:white!important;
}


.bgBlueDark
{
  background-color:#140F4B;
  color:white;
}

.bgBlueMedium
{
  background-color:#464573;
  color:white;
}

.bgBlueBright
{
  background-color:#1064EB;
  color:white;
}

.bgBluePale
{
  background-color:#3D8BF2;
  color:white;
}

.bgGreyDark
{
  background-color:#444444;
  color:white;
}

.bgGreyLight
{
  background-color:#F2F2F2;
  color:#444444;
}

.bgWhite
{
  background-color:white;
  color:#140F4B;
}


.buttonSmall.bgBlueDark:hover,
.buttonMedium.bgBlueDark:hover,
.buttonLarge.bgBlueDark:hover
{
  background-color:#1064EB;
  /*color:white;*/
}

.buttonSmall.bgBlueBright:hover,
.buttonMedium.bgBlueBright:hover,
.buttonLarge.bgBlueBright:hover
{
  background-color:#140F4B;
  /*color:white;*/
}


.divider
{
  margin-top:0px;
  margin-bottom:0px;
  border-top:1px solid #707070;
}


img.center
{
  display:block;
  margin-left:auto;
  margin-right:auto;
}
.center
{
  text-align:center;
}


.no-gutter > [class*='col']
{
  padding-left:0;
  padding-right:0;
}

.no-padding
{
  padding:0!important;
}

.padding15
{
  padding:15px;
}
.padding30
{
  padding:30px;
}
.padding45
{
  padding:45px;
}

.padding10Percent
{
  padding:10%;
}
.padding10PercentY
{
  padding-top:8%;
  padding-bottom:8%;
}
.padding15Percent
{
  padding:15%;
}

.paddingLeftRigth5Percent
{
  padding-left:5%;
  padding-right:5%;
}


iframe
{
  width:100%!important;
  display:block;
  /*margin-bottom:30px;*/
}

.fancybox-skin
{
  background-color:#FAFAFA!important;
  color:inherit!important;
}

/*applies to backend editor, no effect to frontend*/
.wp-block-acf-general-spacer
{
  border:1px dashed grey;
}

.editor-visual-editor__post-title-wrapper
{
  margin-top:15px!important;
}

h1.wp-block-post-title
{
  font-size:2.5rem;
  font-weight:normal;
  border:1px dotted grey;
  padding:15px;
  margin-top:5px;
  margin-bottom:15px;
}

.acf-relationship .list
{
  /*height:160px;*/
  height:260px;
}