.style---breeding-horizons {

   background-color: var(--green);

   & .header---bg-color {
      background-color: var(--green);
   }

   /* Event variables */
   --feature: ivypresto-headline, serif;
   & h1 {

      & strong {
         font-style: normal;
         font-family: var(--main);
         font-size: clamp(2.2rem, 3vw, 2.5rem);
         font-weight: var(--var-bold);
         color: var(--orange);
      }

   }
   & h2 {
      font-family: var(--feature);
      font-weight: 300;
      font-size: clamp(3.5rem, 6vw, 4rem);
   }
   & h3 {
      font-family: var(--feature);
      font-weight: 300;
      font-size: clamp(2.2rem, 3vw, 2.5rem)!important;
   }
   & h4 {
      font-family: var(--feature);
      font-weight: 300;
      font-style: normal;
      font-size: clamp(1.8rem, 2.5vw, 2rem);
      line-height: 1.2;
   }
   & h5 {
      font-family: var(--main);
      font-weight: var(--var-bold);
      font-size: clamp(1.4rem, 1.5vw, 1.6rem);
   }
   & p {
      font-family: var(--main);
      font-size: clamp(1.3rem, 1.4vw, 1.4rem);
   }

   /* Buttons */
   & .button---general {
      width: fit-content;

      & .et_pb_text_inner {
         display: inline-flex;
         border-radius: 0px;

         & p {
            color: var(--btn-text);
            @media all and (max-width: 500px) {
               font-size: 1.2rem!important;
            }
         }
         & .button---container {
            border-radius: 0px;
            background-color: var(--btn-bg);
            border: 1px solid var(--btn-bg);
         }
         & .button---slider {
            border-radius: 0px;
            background-color: var(--btn-slider);
            border:0px;
            transform: translateX(-100%);
         }
      }
   }

   & .form---button {
      display: inline-flex;
      position: relative;
      margin-top: 0;

      & p {
         border-radius: 0px;

      }

      & input {
         color: var(--btn-text);
         cursor: pointer;
         transition: .3s ease;
         border-radius: 0px;
         font-size: 1.2rem!important;
         padding: 9px 24px 10px 24px!important;
         line-height: 1.2;
         &:hover {
            color: var(--green);
            transition: .3s ease;
         }
      }
      & .button---container {
         border-radius: 0px;
         background-color: var(--btn-bg);
         border: 1px solid var(--btn-bg);
      }
      & .button---slider {
         border-radius: 0px;
         background-color: var(--btn-slider);
         border:0px;
         transform: translateX(-100%);
      }

   }

   & .et_pb_section {
      padding-top: clamp(70px, 8vh, 150px)!important;
      padding-bottom: clamp(70px, 8vh, 150px)!important;
   }



   & .section---event-hero {
      --btn-bg: var(--orange);
      --btn-slider: var(--yellow);
      --btn-text: var(--green);

      height: clamp(650px, 65vh, 900px);
      position: relative;
      padding-top: 0!important;
      padding-bottom: 0!important;
      overflow: hidden;

      & .et_pb_row {
         height: 90%;
         display: flex;
         flex-direction: column;
         justify-content: flex-end;

         & .et_pb_column {
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            max-width: 50vw;

            & .event-hero---logo {
               max-width: clamp(125px, 13vw, 250px);
               margin-bottom: 40px;
            }
            & .et_pb_text {
               max-width: 90%;

               & h1 {
                  color: var(--blue);
                  font-family: var(--feature);
                  font-weight: var(--var-thin);
                  font-size: clamp(4rem, 5vw, 5rem);
                  text-wrap: balance;
               }
               &.subtext {
                  margin-top: 50px;
                  margin-bottom: 20px;

                  & p {
                     font-size: clamp(1.3rem, 1.4vw, 1.4rem);
                     color: var(--yellow);
                  }
               }
               @media all and (max-width: 850px) {
                  max-width: 100%;
               }
            }
            & .button---general {
            }

            @media all and (max-width: 850px) {
               max-width: 100%;
               justify-content: flex-start;
               margin-top: clamp(100px, 10vh, 150px);
            }
         }

         &.row---event-graphic {
            position: absolute;
            width: fit-content;
            height: fit-content;
            display: block!important;
            right: -5%;
            bottom: 50%;
            transform: translateY(40%);

            & .hero-animation {
               max-width: clamp(200px, 50vw, 1000px);

               @media all and (max-width: 850px) {
                  max-width: clamp(200px, 90vw, 1000px);
               }
            }

            @media all and (max-width: 850px) {
               right: 5vw!important;
               bottom: 30%!important;
               transform: translateY(50%)!important;
            }
         }
      }

      @media all and (max-width: 850px) {
         height: clamp(900px, 65vh, 1000px);
      }
      @media all and (max-width: 500px) {
         height: 100vh;
      }
   }


   & .section---overview {
      --btn-bg: var(--green);
      --btn-slider: var(--yellow);
      --btn-text: var(--orange);

      padding-top: clamp(100px, 10vh, 150px);
      padding-bottom: clamp(100px, 10vh, 150px);

      & .et_pb_row {
         padding-bottom: 45px;
         padding-top: 0px;
         margin-bottom: 45px;
         border-bottom: 1px solid var(--green);

         &:last-child {
            padding-bottom: 0px;
            margin-bottom: 0px;
            border-bottom: 0px;
         }
      }

      & .overview---date {

         & .et_pb_column {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            grid-column-gap: var(--gap-lg);

            @media all and (max-width: 850px) {
               grid-row-gap: 30px;
            }

            @media all and (max-width: 550px) {
               grid-template-columns: repeat(1, 1fr);
            }

            & .et_pb_text {
               grid-column: span 3;
               &:nth-child(2) {
                  grid-row: 1;
                  grid-column: 4 / span 3;

                  @media all and (max-width: 550px) {
                     grid-column: 1;
                     grid-row: auto;
                  }
               }

               @media all and (max-width: 550px) {
                  grid-column: 1;
                  grid-row: auto;
               }
            }
            & .button---general {
               grid-column: 4 / span 3;
               grid-row: 1;
               align-self: end;

               @media all and (max-width: 850px) {
                  grid-row: 2;
                  grid-column: 1 / span all;
               }
               @media all and (max-width: 550px) {
                  grid-row: auto;
                  grid-column: 1;
               }
            }

         }
      }

      & .overview---program {

         & .et_pb_column {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            grid-column-gap: var(--gap-lg);

            @media all and (max-width: 700px) {
               grid-template-columns: repeat(1, 1fr);
               grid-row-gap: 30px;
            }

            & .et_pb_text {
               &.program---intro {
                  grid-column: 1 / span all;
                  margin-bottom: 50px;
                  text-wrap: pretty;

                  @media all and (max-width: 700px) {
                     grid-column: 1;
                     margin-bottom: 0px;
                  }
               }
               grid-column: span 2;

               @media all and (max-width: 700px) {
                  grid-column: 1;
               }

               & h5 {
                  margin-bottom: 10px;
               }
            }
         }
      }

      & .overview---timetable {

         & .et_pb_column {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-gap: 20px;

            &::after {
               display: none;
            }

            & .program---intro, .program---table {
               grid-column: 1 / span 2;
            }

            & .program---table {
               
               & .et_pb_text_inner {
                  display: block;
                  margin-bottom: 50px!important;

                  @media all and (max-width: 650px) {
                     overflow-x: scroll;
                     grid-template-columns: repeat(2, 1fr);
                     grid-row-gap: 10px;
                  }
                  @media all and (max-width: 450px) {
                     grid-template-columns: repeat(1, 1fr);
                     grid-row-gap: 15px;
                  }

                  & > div {
                     display: flex;
                     flex-direction: row;
                     justify-content: space-between;

                     & div {
                        font-family: var(--main);
                        font-size: 1rem;
                        color: var(--green);
                        margin-top: 0px!important;
                        padding-left: 25px;
                        position: relative;

                        &.training {
                           --bg-color: var(--green);
                           --bdr-color: 0px;
                        }
                        &.workshop {
                           --bg-color: var(--blue);
                           --bdr-color: 0px;
                        }
                        &.showcase {
                           --bg-color: var(--yellow);
                           --bdr-color: 0px;
                        }
                        &.farm {
                           --bg-color: transparent;
                           --bdr-color: 1px solid var(--green);
                        }
                        &.meeting {
                           --bg-color: white;
                           --bdr-color: 0px;
                        }
                        &.networking {
                           --bg-color: transparent;
                           --bdr-color: 1px solid white;
                        }

                        &::before {
                           content: '';
                           width: 17px;
                           height: 17px;
                           display: inline-block;
                           position: absolute;
                           left: 0;
                           top: 4px;
                           background-color: var(--bg-color);
                           border: var(--bdr-color);
                        }
                     }
                  }
               }
            }

            & .box---centre, .box---training, .box---workshops, .box---showcase, .box---farm, .box---networking {
               grid-column: auto;
               padding: 40px 30px;

               @media all and (max-width: 800px) {
                  grid-column: 1 / span all;
               }

               & h4 {
                  margin-bottom: 20px;
               }
            }
            & .box---centre {
               background-color: white;
            }
            & .box---training {
               background-color: var(--green);
               & h4, p {
                  color: white;
               }
            }
            & .box---workshops {
               background-color: var(--blue);
            }
            & .box---showcase {
               background-color: var(--yellow);
            }
            & .box---farm {
               background-color: transparent;
               border: 2px solid var(--green);
            }
            & .box---networking {
               background-color: transparent;
               border: 2px solid white;
            }

            & table {
               grid-column: 1 / span all;
               width: 100%;
               border: 0px;
               margin-bottom: 20px;

               @media all and (max-width: 650px) {
                  min-width: 500px;
                  grid-column: 1 / span 2;
               }
               @media all and (max-width: 450px) {
                  min-width: 100%;
                  max-width: 100%;
                  margin-bottom: 10px;
               }

               & .header---days {

                  & th {
                     padding: 0px 0px 5px 0px;
                     width: calc(90% / 5);
                     font-family: var(--main);
                     font-weight: var(--var-bold);
                     text-align: center;
                     color: var(--green);
                     line-height: 1.1;
                     @media all and (max-width: 1100px) {
                        width: calc(80% / 5);
                     }

                     &:first-child {
                        max-width: 10%;
                        @media all and (max-width: 1100px) {
                           width: 20%;
                        }
                        @media all and (max-width: 450px) {
                           display: none;
                        }
                     }
                  }
               }

               & .row---time {

                  & th {
                     width: 10%;
                     padding: 10px 0;
                     font-family: var(--feature);
                     font-weight: 300;
                     font-size: 1.3rem;
                     color: var(--green);
                     border-top: 1px solid var(--green);
                     @media all and (max-width: 1100px) {
                        width: 20%;
                     }
                     @media all and (max-width: 450px) {
                        display: none;
                     }
                  }

                  & td {
                     position: relative;
                     border-top: 1px solid var(--green);
                     padding: 10px 0;
                     width: calc(90% / 5);
                     @media all and (max-width: 1100px) {
                        width: calc(80% / 5);
                     }
                     @media all and (max-width: 450px) {
                        padding: 17px 0;
                     }

                     &.p-half {
                        & div {
                           width: 42.5%;
                           
                           &:last-child {
                              left: auto;
                              right: 5%;
                              transform: translate(0, -50%);
                           }
                           &:first-child {
                              left: 5%;
                              right: auto;
                              transform: translate(0, -50%);
                           }
                        }
                     }

                     & div {
                        height: 60%;
                        width: 90%;
                        position: absolute;
                        top: 50%;
                        left: 50%;
                        transform: translate(-50%, -50%);

                        &.p-training {
                           background-color: var(--green);
                        }
                        &.p-workshop {
                           background-color: var(--blue);
                        }
                        &.p-showcase {
                           background-color: var(--yellow);
                        }
                        &.p-meeting {
                           background-color: white;
                        }
                        &.p-farm {
                           background-color: transparent;
                           border: 1px solid var(--green);
                        }
                        &.p-network {
                           background-color: transparent;
                           border: 1px solid white;
                        }
                     }
                  }
               }
            }
         }
      }

      & h1, h2, h3, h4, h5, h6, p {
         color: var(--green);
      }
   }


   & .section---timetable {
      padding-top: clamp(100px, 10vh, 150px);
      padding-bottom: clamp(100px, 10vh, 150px);
      font-family: var(--main);

      & .et_pb_row {

         & .et_pb_column {

            & .et_pb_accordion {

               & .toggles {
                  border: 0px;
                  padding: 0px;
                  display: grid;
                  grid-column-gap: 30px;

                  & + .toggles {
                     border-top: 2px solid var(--green);
                     padding-top: 25px;
                     margin-top: 25px;
                  }

                  &.toggle-closed {
                     .et_pb_toggle_content {
                        overflow: hidden;
                        transition: 0.5s ease;
                     }
                  }
                  &.toggle-opened {
                     & .et_pb_toggle_title {
                        & .title---session {
                           text-wrap: auto;
                        }
                        & .toggle-open-btn {
                           background-color: var(--orange);
                           transition: 0.3s ease;

                           & div {
                              background-color: var(--green);
                              transition: 0.3s ease;
                              &:last-child {
                                 opacity: 0;
                              }
                           }
                        }
                     }
                     & .et_pb_toggle_content {
                        overflow: hidden;
                        transition: 1s ease;
                     }
                  }

                  & .et_pb_toggle_title {
                     padding: 0px;
                     color: var(--green);
                     position: relative;
                     display: grid;
                     grid-template-columns: 40% auto;

                     @media all and (max-width: 800px) {
                        grid-template-columns: repeat(1, 1fr);
                     }

                     &::before {
                        display: none;
                     }

                     & .toggle-open-btn {
                        width: 35px;
                        height: 35px;
                        display: block;
                        background-color: var(--green);
                        position: absolute;
                        right: 0;
                        /*bottom: 0;*/
                        top: 50%;
                        transform: translateY(-50%);
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        cursor: pointer;
                        z-index: 9999;
                        transition: 0.3s ease;

                        & div {
                           height: 4px;
                           width: 55%;
                           background-color: var(--orange);
                           position: absolute;
                           top: 50%;
                           left: 50%;
                           transform: translate(-50%, -50%);
                           transition: 0.3s ease;

                           &:last-child {
                              transform:translate(-50%, -50%) rotate(90deg);
                           }
                        }
                     }

                     & .title---day {
                        font-size: clamp(1rem, 1.2vw, 1.3rem);
                        font-family: var(--main);
                        font-weight: 700;
                        grid-column: 1;
                     }
                     & .title---session {
                        font-size: clamp(1.8rem, 2.5vw, 2rem);
                        line-height: 1.2;
                        font-family: var(--feature);
                        padding-top: 10px;
                        grid-column: 1;
                        max-width: 95%;
                        text-wrap: nowrap;
                     }
                  }

                  & .et_pb_toggle_content {
                     padding: 0px;
                     display: grid!important;
                     grid-template-columns: 40% auto;
                     top: -3rem;

                     @media all and (max-width: 800px) {
                        grid-template-columns: repeat(1, 1fr);
                        top: 0;
                     }

                     &::after {
                        display: none;
                     }

                     & table {
                        border: 0px;
                        grid-column: 2;
                        width: 100%!important;

                        @media all and (max-width: 800px) {
                           grid-column: 1;
                        }

                        & tr {

                           &:first-child {
                              & th, td {
                                 border-top: 0px;
                              }
                           }

                           & th {
                              border-top: 1px solid var(--orange);
                              padding: 20px 0;
                              width: clamp(130px, 20vw, 170px)!important;
                              font-family: var(--feature);
                              font-weight: 300;
                              font-size: clamp(1.4rem, 1.5vw, 1.6rem);
                              color: var(--green);
                              vertical-align: top;
                           }
                           & td {
                              border-top: 1px solid var(--orange);
                              width: auto!important;
                              color: var(--green);
                              padding: 20px 0;
                           }
                        }                 
                     }

                  }

               }
            }

         }
      }
   }


   & .section---speakers {
      padding-top: clamp(100px, 10vh, 150px);
      padding-bottom: clamp(100px, 10vh, 150px);

      & .et_pb_row {

         & .et_pb_column {

            & h3 {
               color: var(--orange);
            }

            & .et_pb_people {

               & .et_pb_ajax_pagination_container {
                  grid-template-columns: repeat(2, 1fr);
                  grid-row-gap: var(--gap-xl);
                  grid-column-gap: var(--gap-xl);

                  @media all and (min-width: 1500px) {
                     grid-template-columns: repeat(4, 1fr);
                  }
                  @media all and (max-width: 600px) {
                     grid-template-columns: repeat(1, 1fr);
                     --gap-xl: 50px;
                  }

                  & > div {
                     display: none;
                  }
                  & .post-outer {
                     margin-bottom: 0px;
                     display: grid;
                     grid-template-rows: auto 1fr auto;
                     height: 100%;
                  }

                  & .people---image {
                     margin-bottom: var(--gap-sm);
                     
                     & img {
                        max-width: clamp(175px, 70%, 250px);
                        width: clamp(175px, 70%, 250px);
                        aspect-ratio: 1.5 / 1.7;
                        object-fit: cover;
                        object-position: top;
                        border-radius: 0px;
                     }
                  }

                  & .people---name {

                     padding: 0px;
                     & h3 {
                        font-size: clamp(2rem, 2.5vw, 2.5rem)!important;
                     }
                     & > h3 {
                        display: none;
                     }

                     & h3 {
                        color: var(--orange);
                     }
                     & h5 {
                        font-family: var(--main);
                        color: var(--orange);
                        font-size: clamp(1.2rem, 1.3vw, 1.3rem);
                        margin-top: 15px;
                        line-height: 1.2;
                        font-weight: var(--var-bold);
                     }
                  }

                  & .people---details {
                     display: block;
                     position: relative;
                     bottom: auto;
                     margin-top: var(--gap-med);

                     & a {
                        &:first-child {
                           display: none;
                        }
                     }

                     & .more---icon {
                        background-image: url('/wp-content/themes/Divi-child/Svgs/icons/more-icons-orange.svg');
                        transition: 0.3s ease;

                        &:hover {
                           background-image: url('/wp-content/themes/Divi-child/Svgs/icons/more-icons-orange-rollover.svg');
                           transition: 0.3s ease;
                        }
                     }
                  }
               }
            }

         }
      }

   }


   & .section---cta-event {

      --btn-bg: var(--green);
      --btn-slider: var(--yellow);
      --btn-text: var(--orange);

      padding-top: clamp(100px, 10vh, 150px);
      padding-bottom: clamp(100px, 10vh, 150px);

      & h1, h2, h3, h4, h5, h6, p {
         color: var(--green);
      }

      & .et_pb_row {
         padding-bottom: var(--gap-xl);
         margin-bottom: var(--gap-xl);
         border-bottom: 1px solid var(--green);

         &:last-child {
            padding-bottom: 0px;
            margin-bottom: 0px;
            border-bottom: 0px;
         }
      }
      
      & .cta---sponsors {

         & .et_pb_column {
            display: grid;
            grid-row-gap: 35px;

            @media all and (max-width: 700px) {
               grid-template-columns: repeat(2, 1fr)!important;
               grid-row-gap: 25px;
            }
            
            &.logos---4 {
               grid-template-columns: repeat(4, 1fr);
            }
            &.logos---5 {
               grid-template-columns: repeat(5, 1fr);
            }
            &.logos---6 {
               grid-template-columns: repeat(6, 1fr);
            }

            & .et_pb_text {
               grid-column: 1 / span all;
               color: var(--green);
               @media all and (max-width: 700px) {
                  grid-column: 1 / span 2;
               }
               
            }
            & .et_pb_image {
               grid-column: auto;
               align-self: center;
               width: 100%;
               text-align: center;

               & img {
                  max-width: clamp(120px, 80%, 225px);
                  max-height: 85px;
                  width: auto;
               }
            }
         }

      }
      
      & .cta---contact {

         & .et_pb_column {
            display: grid;
            grid-template-columns: repeat(6, 1fr);

            @media all and (max-width: 700px) {
               grid-template-columns: repeat(1, 1fr);
               grid-row-gap: 30px;
            }

            & .et_pb_text {
               grid-column: 1 / span 2;
               @media all and (max-width: 700px) {
                  grid-column: 1;
               }
            }
            & .et_pb_code {
               grid-column: 3 / span 4;
               @media all and (max-width: 700px) {
                  grid-column: 1;
               }

               & .form---contact {
                  display: grid;
                  grid-template-columns: repeat(2, 1fr);
                  grid-column-gap: 20px;
                  grid-row-gap: 30px;

                  & .form---input {
                     grid-column: auto;

                     & input, textarea {
                        margin-top: 0px;
                        font-family: var(--feature);
                        color: var(--green);
                        font-size: clamp(1.3rem, 1.7vw, 1.6rem);
                        border-bottom: 1px solid var(--green);
                        border-radius: 0px;

                        &::placeholder {
                           font-family: var(--feature);
                           color: var(--green);
                           font-size: clamp(1.3rem, 1.7vw, 1.6rem);
                        }
                        &::focus {
                           color: var(--blue);
                        }
                     }

                     &.msg-text {
                        grid-column: span 2;
                     }
                  }

                  & .wpcf7-not-valid-tip {
                     color: var(--green);
                     font-weight: 700;
                  }

               }

               & .form---button-outer {
                  margin-top: 20px;
               }

               & .wpcf7-response-output {
                  border-radius: 0px;
                  background-color: var(--green);
                  color: var(--orange);
                  margin-bottom: 50px!important;
               }
            }
         }
      }
      }


   & .section---register {

      --btn-bg: var(--green);
      --btn-slider: var(--yellow);
      --btn-text: var(--orange);

      padding-top: clamp(100px, 10vh, 150px);
      padding-bottom: clamp(100px, 10vh, 150px);

      & .et_pb_row {

         & .et_pb_column {
            display: grid;
            grid-template-columns: repeat(2, 1fr);

            @media all and (max-width: 700px) {
               grid-template-columns: repeat(1, 1fr);
               grid-row-gap: 30px;
            }

            & h2 {
               font-size: clamp(2.5rem, 3.5vw, 3rem);
               color: var(--green);
            }

            & p {
               color: var(--green);
            }

            & .button---general {
               grid-column: 2;
               margin-top: 15px;

               @media all and (max-width: 700px) {
                  grid-column: 1;
               }

               & p {
                  color: var(--orange);
               }
            }

         }
      }
   }
}