/*
* Theme Name: Base
* Author: Tracta
* Author URI: https://tracta.co.nz
* Description: Wordpress theme designed and developed by Tracta.
* Text Domain: tracta_theme
* © Tracta Ltd. All rights reserved.
* Version: 1.0
*/

/*
==================================
BASE							   
==================================
*/

@font-face {
    font-family: 'IPF SOIL';
    src: url('assets/fonts/IPFSOILRegular.woff') format('woff2'),
         url('assets/fonts/IPFSOILRegular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html {
	background-color: #ffffff;
    width: 100%;
    min-width: 320px;
    overflow-x: hidden;
}

html.menu-open {
    overflow-y: hidden;
}

body {
    position: relative;
    width: 100%;
	font-family: "Open Sans", sans-serif;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
    overscroll-behavior-y: none;
	-webkit-overflow-scrolling: touch;
}

header, main, footer, section, article {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}

.container-fluid {
	position: relative;
    width: 100%;
    height: 100%;
}

.container {
    max-width: 100%;
    height: 100%;
    padding-left: 50px;
    padding-right: 50px;
    margin: 0 auto;
}

.container-inner {
    max-width: 1180px;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0 auto;
    position: relative;
}

/*
==================================
FONT STYLES						   
==================================
*/

h1, h2, h3, h4, h5, h6 {
	color: #000000;
	font-family: "IPF SOIL", sans-serif;
	font-weight: 100;
	font-style: normal;
	letter-spacing: 0px;
	text-transform: uppercase;
	margin: 0;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    -webkit-margin-start: 0;
         margin-inline-start: 0;
    -webkit-margin-end: 0;
         margin-inline-end: 0;			
}

h1 {
	font-size: 140px;
	line-height: 0.85;
}

h2 {
	font-size: 54px;
	line-height: 0.85;
}

h3 {
	font-size: 32px;
	line-height: 0.85;
}

h4 {
	font-size: 22px;
	line-height: 0.85;
}

h5 {
	font-size: 20px;
	line-height: 0.85;
}

h6 {
	font-size: 18px;
	line-height: 0.85;
}


body, p, a, p a span, ul, ol, ul li, ol li, span, label, em, p em, a em, p a span em, ul em, ol em, ul li em, ol li em, span em, table, tr, td {
	font-family: "Open Sans", sans-serif;
	font-weight: 300;
	font-style: normal;
}

em, p em, a em, p a span em, ul em, ol em, ul li em, ol li em, span em {
	font-style: italic;
}

p {
	color: #000000;	
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: 0.5px;
	padding-bottom: 24px;
	-webkit-margin-before: 0;
	        margin-block-start: 0;
    -webkit-margin-after: 0;
            margin-block-end: 0;
}

p a {
	color: #000000;	
	font-size: 18px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.5px;
	margin-bottom: 16px;
}

ul {
	-webkit-margin-before: 0;
	        margin-block-start: 0;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;	
}

ul li a, ol li a {
	color: #000000;
}

p a:hover, ul li a:hover, ol li a:hover {
	color: #000000;
}

strong, p strong, p strong a {
    font-family: "Open Sans", sans-serif;
	font-weight: 700;
	font-style: normal;	
}

a {
	text-decoration: none;
}

sup {
	font-size: 65%;
    top: -0.4em;
}

/*
==================================
HEADER STYLES						   
==================================
*/


header {
    position: absolute;
    z-index: 9999;
    padding: 20px 0;
}

header .menu-col {
    height: 70px;
    line-height: 70px;
    display: flex;
    gap: 20px;
    flex-grow: 1;
}

header .menu-col a.logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

header .menu-col a.logo img {
    max-height: 70px;
}

header .menu-col:nth-of-type(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

header #menu-main-navigation {
    text-align: center;
}

header #menu-main-navigation li {
    margin: 0 15px;
}

ul.nav-menu li a {
    color: #ffffff;
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    position: relative;
}

ul.nav-menu li a::before {
    content: " ";
    display: block;
    width: 100%;
    height: 2px;
    background-color: transparent;
    position: absolute;
    top: -2px;
    transition: background-color ease-in-out 250ms;
}

ul.nav-menu li.current_page_item a {
    font-weight: 600;
}

ul.nav-menu li a:hover::before, ul.nav-menu li.current_page_item a::before {
    background-color: #C3DD89;
}

ul.nav-menu li.sugar a:hover::before, ul.nav-menu li.current_page_item.sugar a::before {
    background-color: #C3DD89;
}

ul.nav-menu li.hort a:hover::before, ul.nav-menu li.current_page_item.hort a::before {
    background-color: #802B7C;
}

ul.nav-menu li.sugar a:hover::before, ul.nav-menu li.current_page_item.sugar a::before {
    background-color: #8CC63F;
}

header .menu-col:nth-of-type(4) {
    display: none;
    justify-content: flex-end;
    align-items: center;
}

/* -- Mobile Menu -- */

nav#mobile-menu {
    display: block;
    width: 400px;
    height: 100%;
    position: absolute;
    z-index: 9998;
    background-color: #383436;
    top: 0;
    left: auto;
    right: 0;
    bottom: 0;
    will-change: transform;
    transition: transform ease-in-out 250ms;
    transform: translateX(100%);
}

html.menu-open nav#mobile-menu {
    transform: translateX(0%);
}

nav#mobile-menu .mobile-menu-inner {
    padding: 150px 50px 0 50px;
}

nav#mobile-menu .mobile-menu-inner ul {
    list-style-type: none;
}

nav#mobile-menu .mobile-menu-inner ul li {
    margin-bottom: 20px;
}

#mobile-menu-button {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    cursor: pointer;
}

#mobile-menu-button .menu-text {
    color: #ffffff;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 18px;
    padding-right: 10px;
    margin-top: 2px;
    transition: color ease-in-out 250ms;
}

#mobile-menu-button .burger-wrap span {
    display: block;
    width: 30px;
    height: 2px;
    margin: 6px 0;
    background-color: #ffffff;
    transition: background-color ease-in-out 250ms, width ease-in-out 250ms, transform ease-in-out 250ms;
    transform-origin: center top;
    -webkit-user-select: none;
    user-select: none;
}

#mobile-menu-button .burger-wrap span:first-of-type {
    margin-top: 0;
}

#mobile-menu-button .burger-wrap span:last-of-type {
    margin-bottom: 0;
}

html.menu-open header #mobile-menu-button .burger-wrap span {
    background-color: transparent;
}

html.menu-open #mobile-menu-button .burger-wrap span:first-of-type {
    width: 30px;
    background-color: #ffffff;
    margin: 0;
    -webkit-transform: translate(0px, 8px) rotate(45deg);
    -ms-transform: translate(0px, 8px) rotate(45deg);
    transform: translate(0px, 8px) rotate(45deg);
}

html.menu-open #mobile-menu-button .burger-wrap span:last-of-type {
    width: 30px;
    background-color: #ffffff;
    margin: 0;
    -webkit-transform: translate(-1px, -8px) rotate(-45deg);
    -ms-transform: translate(-1px, -8px) rotate(-45deg);
    transform: translate(-1px, -8px) rotate(-45deg);
}

/* -- Mobile Menu End -- */

/*
==================================
GENERAL STYLES				
==================================
*/

:focus {
	outline: none !important;
}

a.btn {
    display: inline-block;
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    text-transform: uppercase;    
    background-color: transparent;
    border: 1px solid #000000;
    padding: 12px 35px;
    border-radius: 4px;
    font-weight: 600;
    transition: background-color ease-in-out 250ms, color ease-in-out 250ms, border-color ease-in-out 250ms;
}

a.btn:hover {
    color: #ffffff;
    background-color: #000000;
}

a.btn.green {
    color: #ffffff;
    border-color: rgba(120, 163, 52, 1);
    background-color: rgba(120, 163, 52, 1);
}

a.btn.green:hover {
    border-color: rgba(120, 163, 52, 0.8);
    background-color: rgba(120, 163, 52, 0.8);
}

a.btn.purple {
    color: #ffffff;
    border-color: rgba(128, 43, 124, 1);
    background-color: rgba(128, 43, 124, 1);
}

a.btn.purple:hover {
    border-color: rgba(128, 43, 124, 0.8);
    background-color: rgba(128, 43, 124, 0.8);
}

a.btn.alt-purple:hover {
    color: #ffffff;
    border-color: rgba(128, 43, 124, 0.8);
    background-color: rgba(128, 43, 124, 0.8);
}

/* -- ERROR 404 Styles -- */

section.error {
	text-align: center;
    padding-top: calc((100vh / 2) - 80px );
}

.error-content h1, .error-content p {
    color: #000000;
}

.error-content p a.btn {
    display: inline-block;
    margin-top: 30px;
}

/* -- Error 404 Styles End-- */

/* -- Footer Styles -- */

.footer-content-inner {
    margin: 60px auto;
}

.footer-content-inner:after {
    content: " ";
    display: block;
    width: 50px;
    height: 56px;
    background-image: url(assets/img/ipf-fertcare-logo-dark.png);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: -65px;
    right: auto;
    bottom: auto;
}

.footer-content p {
	color: #707070;
	font-size: 14px;
	line-height: 1.15;
}

.footer-content p:last-of-type {
    padding-bottom: 0;
}

/*
==================================
RESPONSIVE STYLES				
==================================
*/

@media all and (max-width: 1679px) {  

}

@media all and (max-width: 1500px) {

    /*aligned with div.container */
    p.false-header {
        margin-bottom: 0;
    }

}

@media all and (max-width: 1440px) {

    h1 {
        font-size: 120px;
    }

}

@media all and (max-width: 1280px) {

    h1 {
        font-size: 100px;
    }

    h2 {
        font-size: 44px;
    }

}

@media all and (max-width: 1279px) {
    .footer-content p {
        padding-left: 70px;
    }
	
    .footer-content-inner:after {
        left: 0;
    }

}

@media all and (max-width: 1024px) {
	
	div.container {
		padding-left: 30px;
		padding-right: 30px;
	}
	
}

@media all and (max-width: 1023px) {

    h1 {
        font-size: 80px;
    }

    h2 {
        font-size: 34px;
    }

    h3 {
        font-size: 28px;
    }

    p {
        font-size: 16px;
    }

    a.btn {
        font-size: 16px;
    }

}

@media all and (max-width: 767px) {
	
	div.container {
		padding-left: 20px;
		padding-right: 20px;
    }

    h1 {
        font-size: 70px;
    }

    h3 {
        font-size: 24px;
    }
    
    nav#mobile-menu .mobile-menu-inner {
        padding: 150px 30px 0 30px;
    }
    
    .footer-content-inner:after {
        top: 0;
        bottom: auto;
    }

    .footer-content p {
        font-size: 12px;
        padding-left: 0;
    }

    .footer-content-inner:after {
        display: none;
    }

    .footer-content-inner {
        margin: 40px auto;
    }

}

@media all and (max-width: 550px) {
	
    nav#mobile-menu {
        width: 100%;
    }

}

@media all and (max-width: 413px) {

    h1 {
        font-size: 60px;
    }

    h2 {
        font-size: 30px;
    }

    header .menu-col a.logo img {
        max-height: 60px;
    }

}

@media all and (orientation: landscape) and (max-height: 500px) {
    
    nav#mobile-menu {
        overflow-y: scroll;
    }

    nav#mobile-menu .mobile-menu-inner {
        height: 100%;
    }

}