/* Normalise CSS */
html{line-height:1.4;-webkit-text-size-adjust:100%}main{display:block}h1{font-size:2rem;margin:.67rem 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1rem}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1rem}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25rem}sup{top:-.5rem}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance: button;}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{padding:.35rem .75rem .625rem}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;appearance: textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-VF.ttf') format('truetype');
    font-weight: 100 1000;
    font-display: swap;
}

@font-face {
    font-family: 'Vollkorn';
    src: url('../fonts/Vollkorn-VF.ttf') format('truetype');
    font-weight: 100 1000;
    font-display: swap;
}

/* Framework*/
:root
{
    --black: #000;
    --blackText: #FFF;

    --white: #FFF;
    --whiteText: #000;

    --darkBlue: #14457A;
    --darkBlueText: #FFF;

    --grey: #ECECEC;
    --greyText: #000;

    --green: #40B090;
    --greenText: #FFF;

    --gold: #D7B26A;
    --goldText: #000;

    --tileColour:#F5F5F5;

    --primaryFont: 'Open Sans';
    --secondaryFont: 'Vollkorn';
}

html, body {min-width:320px;font-variant-numeric: lining-nums;color:#000000;font-size:16px;font-weight:400;font-family: var(--primaryFont);line-height:1.4;position:relative;display:block;overflow-x:hidden;min-height:100svh;margin:0;padding:0;border:0;}
* {box-sizing: border-box;}
img {display:block;max-width:100%;}
p:first-child {margin-top:0;}
p:last-child {margin-bottom:0;}
h1,h2,h3,h4,h5 {margin:0;font-size:18px;}
body[data-input-method="mouse"] * {outline:none !important;}

/* Exceptions */
.exception .wrapper {text-align:center;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:50vh;max-width:550px;margin:auto;}
.exception .wrapper::before {content:'';opacity:0.75;display:block;width:100px;height:100px;background-position:center;background-repeat:no-repeat;background-size:contain;margin-bottom:10px;}
.exception[data-exception="error"] .wrapper::before {background-image:url('icons/error.svg');}
.exception[data-exception="maintenance"] .wrapper::before {background-image:url('icons/cogs.svg');}
.exception[data-exception="not-found"] .wrapper::before {background-image:url('icons/warning.svg');}

/* Section */
section {display:block;}
section > .container {margin:auto;display:block;position:relative;}
section > .container.full {max-width:2400px;}
section > .container.main {width:min(1920px, calc(100% - 40px));padding:0px 20px;}
section > .container.narrow {width:min(1000px, calc(100% - 120px));padding: 0px 20px;}
@media (max-width:720px)
{
    section > .container.main {width:100%;}
    section > .container.narrow {width:100%;}
}

/* Text Aligns */
.text-align-left {text-align: left;}
.text-align-center {text-align: center;}
.text-align-right {text-align: right;}

/* Background Colours */
.bg-grey {background-color:var(--grey);color:var(--greyText);}
.bg-black {background-color: var(--black);color:var(--blackText);}
.bg-darkBlue {background-color:var(--darkBlue);color:var(--darkBlueText);}

/* Pagination */
ul.pagination{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:40px 0 60px 0;padding:0;font-family:var(--secondaryFont);font-variant-numeric: lining-nums;}
ul.pagination li {margin:0;padding:0;list-style:none;}
ul.pagination li a.page-arrow {background-color:#D9D9D9;border-radius:50px;text-align:center;padding:10px;display:block;height:35px;width:35px;background-image:url('icons/small-arrow.svg');background-position:9px center;background-repeat:no-repeat;background-size:20px 20px;}
ul.pagination li a.page-arrow.prev {transform:rotate(-180deg);}
ul.pagination li:has(a.page-arrow.prev) {margin-right:15px;}
ul.pagination li a.page-arrow.next {transform:rotate(0deg);}
ul.pagination li:has(a.page-arrow.next) {margin-left:15px;}
ul.pagination .page {display:block;padding:0 6px;color:#000000;text-decoration:none;font-size:28px;font-weight:700;margin-top:5px;opacity:0.75;}
ul.pagination .page.active {position:relative;opacity:1;}
ul.pagination .page.active::after {content:'';display:block;height:2px;width:10px;border-radius:5px;background-color:var(--black);position:absolute;left:0;right:0;margin:auto;bottom:2px;}


/* Skip To Content */
.skip-to-content {position:absolute;left:-200%;top:0;display:block;width:100%;text-decoration:none;font-weight:600;text-align:center;background-color:#eee;color:#000;font-size:1rem;padding:10px;outline:none;border:0;}
body[data-input-method="keyboard"] .skip-to-content:focus {position:relative;left:unset;}

/* Buttons */
.primary-button {display:inline-block;appearance: none;border:1px solid #000;padding:10px 35px;background-color:transparent;color:var(--darkTextColour);text-decoration: none;font-size:18px;font-weight:700;transition:background-color .25s ease-in-out;}
.primary-button:hover, .primary-button:focus {background-color:#EEE;}

/* Header */
header {background-color:#FFF;position:relative;z-index:20;font-family:var(--secondaryFont);text-transform: uppercase;font-weight:600;}
header .container {max-width:1920px;margin:auto;}
header .wrapper {display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center;padding:20px 20px 20px 20px;}

/* Header Navigation */
header nav {line-height:120%;position:relative;}
header nav ul {display:flex;flex-direction:row;list-style:none;margin:0;padding:0;justify-content:end;gap:20px;align-items:flex-end;}
header nav li {font-weight:bold;display:block;position:relative;}
header nav button {appearance:none;position:relative;padding:10px;border:0;background-color:transparent;font-size:16px;color:inherit;font-weight:600;text-transform: uppercase;}
header nav button:hover {cursor:pointer;}
header nav a {display:inline-block;text-decoration:none;color:inherit;position:relative;padding:12px 10px 10px 10px;font-size:16px;font-weight:600;}
header nav > ul > li:last-child > a, header nav > ul > li:last-child > button {background-color:var(--darkBlue);color:var(--darkBlueText);border-radius:10px;padding:12px 20px 10px 20px;font-size:16px;font-weight:600;}
header nav ul li > .dropdown-wrapper {display:none;position:absolute;z-index:2;max-width:1000px;left:50%;}
header nav ul li:last-child > .dropdown-wrapper {right:0;left:unset;transform:unset;}
header nav ul li:last-child > .dropdown-wrapper::before {left:unset;right:40px;}
header nav button[aria-expanded="true"] ~ .dropdown-wrapper {display:flex;}
header nav .dropdown-wrapper {width:max-content;padding-top:10px;text-align:left;transform:translate(-50%, 0px);}
header nav .dropdown-wrapper::before {content:'';position:absolute;top:0;left:0;right:0;margin:auto;width: 0;height: 0;border-left: 15px solid transparent;border-right: 15px solid transparent;border-bottom: 10px solid var(--darkBlue);}
header nav .dropdown-wrapper .content-wrapper {padding:40px 60px;background-color:var(--darkBlue);color:var(--darkBlueText);flex-direction:row;border-radius:15px;}
header nav .dropdown-wrapper ul {display:grid;grid-auto-flow:column;grid-template-rows:repeat(6, auto);justify-content:flex-start;align-items:flex-start;gap:2px;column-gap:40px;border:0;}
header nav .dropdown-wrapper ul li a {font-family:var(--primaryFont);font-weight:600;font-size:15px;padding:5px 0px;text-align:left;}
header nav .dropdown-wrapper ul li {display:block;}
/* Balance Items */
header nav .dropdown-wrapper ul:has(li:nth-child(7)) {grid-template-rows:repeat(4, auto);}
header nav .dropdown-wrapper ul:has(li:nth-child(9)) {grid-template-rows:repeat(5, auto);}

/* Main Header */
[data-site="cattleSociety"] header {box-shadow: black 0px 21px 20px -30px;}

/* WAF Header */
[data-site="worldAyrshireFederation"] header {position:relative;margin-bottom:20px;}
[data-site="worldAyrshireFederation"] header::after {content:'';display:block;width:100%;height:130px;position:absolute;left:0;right:0;margin:auto;background-repeat:no-repeat;background-image:url('../core/assets/green-and-gold-wave-white.svg#svgView(preserveAspectRatio(none))');background-position:left top;background-size: 100% 100%;}
[data-site="worldAyrshireFederation"] header nav > ul > li:last-child > a, [data-site="worldAyrshireFederation"] header nav > ul > li:last-child > button {background-color:var(--green);color:var(--greenText);}
[data-site="worldAyrshireFederation"] header .wrapper {align-items:start;padding-left:250px;}
[data-site="worldAyrshireFederation"] header .logo {position:relative;}
[data-site="worldAyrshireFederation"] header .logo img {position:absolute;z-index:2;top:-10px;border-radius:100%;overflow:hidden;max-height:120px;}

/* Services Header */
[data-site="cattleServices"] header {position:relative;margin-bottom:30px;}
[data-site="cattleServices"] header::after {content:'';display:block;width:100%;height:100px;top:80px;position:absolute;left:0;right:0;margin:auto;background-repeat:no-repeat;background-image:url('../core/assets/blue-and-gold-wave-header-with-white.svg#svgView(preserveAspectRatio(none))');background-position:left top;background-size: 100% 100%;}
[data-site="cattleServices"] header nav > ul > li:last-child > a, [data-site="cattleServices"] header nav > ul > li:last-child > button {background-color:var(--darkBlue);color:var(--darkBlueText);}
[data-site="cattleServices"] header .wrapper {align-items:start;padding-left:250px;}
[data-site="cattleServices"] header .logo {position:relative;}
[data-site="cattleServices"] header .logo img {position:absolute;z-index:2;top:-10px;max-height:120px;}


[data-site="cattleSociety"] main {padding-bottom:160px;}
[data-site="worldAyrshireFederation"] main {padding-top:100px;padding-bottom:160px;}
[data-site="cattleServices"] main {padding-top:60px;padding-bottom:160px;}

/* Footer */
footer {background-color:var(--darkBlue);color:var(--darkBlueText);position:sticky;top:250px;z-index:5;}
footer .container {max-width:1920px;margin:auto;position:relative;}
footer .wave {position:relative;}
footer .wave::before {--height: 130px;content:'';display:block;width:100%;background-repeat:no-repeat;background-image:url('../core/assets/blue-footer.svg#svgView(preserveAspectRatio(none))');background-position: left top;background-size: 100% 100%;height:var(--height);position:absolute;top:calc(0px - var(--height));}
footer .wrapper {padding:40px 40px 80px 40px;}
footer .main-content {display:flex;flex-direction:column;gap:40px;border-bottom:1px solid #FFF;padding:0px 0px 20px 0px;}
footer .main-content .heading {max-width:480px;font-size:25px;font-weight:600;font-family:var(--secondaryFont);}
footer .main-content .main-bottom {display:flex;flex-direction:row;align-items:end;justify-content: space-between;}
footer .main-content .main-bottom .navigation ul {list-style:none;margin:0;padding:0;display:flex;flex-direction:row;gap:16px;flex-wrap:wrap;}
footer .main-content .main-bottom .navigation ul li {position:relative;}
footer .main-content .main-bottom .navigation ul a {color:inherit;text-decoration: none;font-size:16px;display:inline-block;position:relative;z-index:1;}
footer .main-content .main-bottom .navigation ul a::after {height:1px;width:100%;position:absolute;content:'';background-color:#FFF;left:0;right:0;bottom:2px;opacity:0.5;z-index:-1;transition:opacity .25s ease-in-out;}
footer .main-content .main-bottom .navigation ul a:hover::after {opacity:1;cursor: pointer;}
footer .main-content .main-bottom .navigation ul .seperator {height:15px;width:1px;background-color:#fff;position:absolute;top:0;bottom:0;margin:auto;right:-8px;}
footer .main-content .main-bottom .navigation ul li:last-child .seperator {display:none;}
footer .bottom-line {padding:15px 0px;display:flex;flex-direction:row;justify-content: space-between;align-items:start;}
footer .socials {display:flex;flex-direction:row;gap:15px;}
footer .socials .social-icon {height:25px;width:25px;background-position:center;background-size:contain;background-repeat: no-repeat;filter:brightness(0) invert(1);}
footer .socials .social-icon.facebook {background-image:url('../core/icons/facebook.svg');}
footer .socials .social-icon.instagram {background-image:url('../core/icons/insta.svg');}
footer .socials .social-icon.linkedin {background-image:url('../core/icons/linkedin.svg');}
footer .socials .social-icon.tiktok {background-image:url('../core/icons/tik-tok.svg');}
footer .copyright-content {display:flex;flex-direction:row;gap:7px;z-index:1;position:relative;}
footer .copyright-content .seperator {height:15px;width:1px;background-color:#fff;margin-top:4px;}
footer a {color:inherit;text-decoration:none;position:relative;}
footer .copyright-content span:not(.website-by) a::after {height:1px;width:100%;position:absolute;content:'';background-color:#FFF;left:0;right:0;bottom:2px;opacity:0.5;z-index:-1;transition:opacity .25s ease-in-out;}
footer .copyright-content span:not(.website-by) a:hover::after {opacity:1;cursor: pointer;}

[data-site="worldAyrshireFederation"] footer {background-color:var(--black);color:var(--white);}
[data-site="worldAyrshireFederation"] footer .heading {color:var(--gold);}
[data-site="worldAyrshireFederation"] footer .wave::before {background-image:url('../core/assets/green-footer.svg#svgView(preserveAspectRatio(none))');}

.mobile-nav-button-wrapper {display:none;}
.mobile-nav-button-wrapper button {display:block;width:50px;height:50px;outline:none;background-image: url('../core/icons/menu.svg');background-position:center center;background-size:60%;background-repeat:no-repeat;cursor:pointer;position:relative;z-index:999;float:right;border:1px solid #000;background-color:transparent;border-radius:10px;}
.mobile-menu, .mobile-menu.active {display:none;width:0;opacity:0;overflow:hidden;}

footer .mobile-socials {display:none;}

main:has([data-custom-block="page-top-media"]:first-child) {padding-top:0px;}
main:has([data-custom-block="image"]:last-child) {padding-bottom:0px;}
main:has([data-custom-block="animal-search"]:not(.bg-none):last-child) {padding-bottom:0px;}
main:has([data-custom-block="form"]:not(.bg-none):last-child) {padding-bottom:0px;}
main:has([data-custom-block="latest-news"]:not(.bg-none):last-child) {padding-bottom:0px;}
main:has([data-custom-block="downloads"]:not(.bg-none):last-child) {padding-bottom:0px;}
main:has([data-custom-section="article-form"]:last-child) {padding-bottom:0px;}


@media(max-width:1400px)
{
    header nav {display:none;}
    .mobile-nav-button-wrapper {display:block;}
    
    .mobile-menu{display:none;background-color:var(--darkBlue);color:var(--darkBlueText);width:0;opacity:0;min-height:100vh;max-width:320px;overflow:hidden;position:fixed;overflow:scroll;top:0;right:0;height:auto;z-index:99999;padding:0;-webkit-transition:opacity 0.5s linear;-moz-transition:opacity 0.5s linear;-ms-transition:opacity 0.5s linear;-o-transition:opacity 0.5s linear;transition: opacity 0.5s linear;border-radius:20px 0 0px 20px;}
    .mobile-menu.active{display:block;width:100%;opacity:1;padding:40px 40px 80px 40px;}
    .mobile-menu button.closebutton{background:transparent;border:none;margin:0;padding:0;display:flex;justify-content:flex-end;flex-direction:row;width:50%;cursor:pointer;margin-left:auto;margin-right:0;}
    .mobile-menu button.closebutton img{width:20px;}
    .mobile-menu nav.sideNav{position:relative;}

    .mobile-menu nav.sideNav ul{margin:0;padding:0;list-style:none;}
    .mobile-menu nav.sideNav ul li {font-weight:normal;font-size:1.125rem;display:block;position:relative;}
    .mobile-menu nav.sideNav ul li a{display:inline-block;text-decoration:none;color:inherit;position:relative;padding:13px 20px 10px 0;line-height:100%;}
    .mobile-menu nav.sideNav ul li a:hover{text-decoration:underline;}
    .mobile-menu nav.sideNav ul li.has-submenu a{display:flex;flex-direction:row;align-items:center;gap:20px;}
    .mobile-menu nav.sideNav ul li.has-submenu a::after{content:'';background-image:url('../core/icons/rightarrow.svg');background-repeat:no-repeat;display:block;width:25px;height:15px;background-size:contain;}
    .mobile-menu nav.sideNav ul li.has-submenu ul.mobSub a::after{content:none;}

    .mobile-menu nav.sideNav ul.sideNavItems{margin-top:30px;}
    .mobile-menu nav.sideNav ul.sideNavItems li{position:relative;}
    .mobile-menu nav.sideNav ul.sideNavItems li.has-submenu:has(input:checked){position:unset;}
    .mobile-menu nav.sideNav ul.sideNavItems li > ul.mobSub{width:100%;height:0;position:absolute;display:block;opacity:0;visibility:hidden;overflow:hidden;background-color:var(--darkBlue);z-index:999999;transition:opacity 0.5s;right:0;top:0;padding:0;}
    .mobile-menu nav.sideNav ul.sideNavItems li > input:checked ~ ul.mobSub{height:calc(100% + 2px);opacity:1;visibility:visible;overflow:visible;}
    .mobile-menu nav.sideNav ul.sideNavItems li > input{top:0;display:block;padding:0;margin:0;border:0;position:absolute;height:100%;width:100%;opacity:0;z-index:99999;cursor:pointer;}
    .mobile-menu nav.sideNav ul.sideNavItems li > input:checked{position:fixed;left:40px;top:32px;width:40px;height:40px;cursor:pointer;}
    .mobile-menu nav.sideNav ul.sideNavItems li > .closeNav{opacity:0;position:fixed;right:245px;top:32px;width:40px;height:40px;transition:opacity 0.5s;background-color:transparent;border:0;}
    .mobile-menu nav.sideNav ul.sideNavItems li > input:checked ~ .closeNav{opacity:1;display:block;}
    .mobile-menu nav.sideNav ul.sideNavItems li > :not(:checked) + .closeNav{display:none;}
    .mobile-menu nav.sideNav ul.sideNavItems li > .closeNav::after{content:'';background-image:url('../core/icons/leftarrow.svg');background-repeat:no-repeat;display:block;width:100%;height:20px;background-size:contain;}
    
    .mobile-menu nav.sideNav ul.sideNavItems li.has-submenu > ul > li:last-of-type a{background-color:transparent;color:#ffffff;padding:13px 20px 10px 0;margin-top:0;border-radius:0;}
    
    [data-site="cattleServices"] header::after {background-size:150% 100%;background-position:-250px top;}
    [data-site="cattleServices"] header .wrapper {padding-left:40px;}
    [data-site="worldAyrshireFederation"] header::after {background-size:150% 100%;background-position:-250px top;}
    [data-site="worldAyrshireFederation"] header .wrapper {padding-left:40px;}
}

@media(max-width:1200px)
{
    footer .copyright-content {flex-wrap:wrap;}
    footer .bottom-line .socials {display:none;}
    footer .mobile-socials {display:flex;}
    footer .main-content .main-bottom {flex-direction:column;gap:40px;justify-content:unset;align-items:unset;}
    
}

@media(max-width:1000px)
{
    footer .wave::before {background-size: 2000px 100%;--height:60px;}
    section > .container.narrow {width:min(1920px, calc(100% - 40px));padding:0px 20px;}
}

@media(max-width:720px)
{
    [data-site="cattleServices"] header::after {height:100px;top:75px;background-size:2000px 100%;background-position:-500px top;}
    [data-site="worldAyrshireFederation"] header::after {height:100px;top:75px;background-size:2000px 100%;background-position:-500px top;}
    section > .container.narrow {width:100%;}
}

@media(max-width:500px)
{
    footer .main-content .main-bottom {align-items:center;text-align:center;}
    footer .copyright-content {justify-content:center;text-align:center;}
    footer .main-content .heading {font-size:20px;text-align:center;}
    
    [data-site="cattleServices"] main {padding-top:35px;padding-bottom:130px;}
    
    footer .main-content .main-bottom .navigation ul {text-align:center;justify-content:center;}
}



















