/*
blue: #072b68
darker red: #bd000f
RR red: #d90011
*/
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-regular.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-regular.woff') format('woff'); }
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 400;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-italic.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-italic.woff') format('woff'); }
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-500.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-500.woff') format('woff'); }
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-700.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-700.woff') format('woff'); }
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 700;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-700italic.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-700italic.woff') format('woff'); }
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 900;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-900.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-900.woff') format('woff'); }
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 900;
font-display: swap;
src: local(''),
url('/fonts/roboto-v30-latin-900italic.woff2') format('woff2'),
url('/fonts/roboto-v30-latin-900italic.woff') format('woff'); }

/*! normalize.css v1.1.2 | MIT License | git.io/normalize */
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; *behavior: url(/js/boxsizing-ie7.htc); }
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {display:block}
audio,canvas,video {display:inline-block;*display:inline;*zoom:1}
audio:not([controls]) {display:none;height:0}
[hidden] {display:none}
html {font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%; scroll-behavior: smooth; }
body, input, textarea, button, select { font-family: 'Roboto', sans-serif; }

body { margin:0; background: #fff; color: #0e0e0f; font-size: 62.5%; font-weight: 400; position: relative; -webkit-transition: padding .3s; -o-transition: padding .3s; transition: padding .3s; }
header { background-color: #fff; }

a:active,a:hover {outline:0; }
h1, h2, h3, h4 { margin:1.4em 0 0.5em; font-weight: 900; font-style: italic; color: #072b68; }
h1, .h1 { font-size:4em; }
h2 { font-size:3.6em; color: #072b68; }
h2.red, h3.red, h4.red, h5.red, p.red, strong.red, span.red { color: #d90011; }
h3 { font-size:2.8em; margin:1em 0 }
h4 { font-size:2.5em; margin:1em 0; color: #d90011; }
h5 { font-size:1.8em; margin:1em 0 }
h6 { font-size:1.6em; margin:0.8em 0; font-weight: 900; color: #d90011; }
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child { margin-top: 0; }
h1:after, .h1:after, h2.withrule:after, h3.withrule:after { content: ''; display: block; width: 20px; height: 5px; background: #6d6d6d; margin: 25px 0 30px;}
h2.withrule:after { width: 18px; margin-top: 25px; }
h3.withrule:after { width: 15px; height: 4px; margin-top: 20px; margin-bottom: 10px;}
h3.small { font-size: 2.3em; }
h1.norule:after { display: none; }
.centred h1:after, h1.centred:after, .centred .withrule:after, .centred.withrule:after { margin-left: auto; margin-right: auto; }
abbr[title] {border-bottom:1px dotted}
blockquote {margin:1em 40px}
p,pre {margin:1em 0}
p,td,li {font-size: 1.6em; line-height: 150%; font-weight: 400; }
li li { font-size: 1em; }
p.small { font-size: 1.25em; }
li p, li h6 { font-size: 1em; }
p.base { font-size: 1.4em !important; line-height: 150% !important; }
code,kbd,pre,samp {font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}
pre {white-space:pre;white-space:pre-wrap;word-wrap:break-word}
menu,ol,ul {padding:0 0 0 30px}
nav ul,nav ol {list-style:none;list-style-image:none}
img {border:0;-ms-interpolation-mode:bicubic; max-width: 100%; height: auto; }
form {margin:0}
fieldset {border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend {border:0;padding:0;white-space:normal;*margin-left:-7px}
button,input,select,textarea {font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}
button,input {line-height:normal;}
button,select {text-transform:none}
button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance:button;cursor:pointer;*overflow:visible}
button[disabled],html input[disabled] {cursor:default}
input[type="checkbox"],input[type="radio"] {-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;*height:13px;*width:13px}
input[type="search"] {-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner {border:0;padding:0}
textarea {overflow:auto;vertical-align:top}
option[disabled] { font-weight: 400; color: #888; }
select:invalid { color: #666; }
option, select:valid { color: #000; font-weight: 700;}
table {border-collapse:collapse;border-spacing:0}
a[href^="tel:"], a.tel { text-decoration: none; cursor: text; }

/*! normalize-opentype.css v0.2.4 | MIT License | kennethormandy.com/journal/normalize-opentype-css */
::-moz-selection { color: inherit; text-shadow: inherit; background-color: #ACCEF7; }
::selection { color: inherit; text-shadow: inherit; background-color: #ACCEF7; }
html, body, table { -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0; -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0; font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0; }
h1, h2, h3 { -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1; -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1; font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1;}
pre, kbd, samp, code { -webkit-font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; -moz-font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; }
input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="number"], input[type="range"], input[type="tel"], input[type="week"] { -webkit-font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0; -moz-font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0; font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0; }
tbody, caption { -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; }

/* --- GENERAL --- */
.fright { float: right; }
.fleft { float: left; }
.clear { clear: both; }
.centred { text-align: center; }
.msg-ok { background: #447a09; color: #fff; padding: 8px 20px; font-weight: 700; }
.msg-alert { background: #eee128; color: #000; padding: 8px 20px; font-weight: 700; }
.aright { text-align: right; }
img.round { border-radius: 50%; aspect-ratio: 1/1; }
img.border-red { border: 6px solid #d90011; }
.image-caption { display: inline-block; }
.image-caption em { font-size: 1.4em; }
.image-caption img { margin-bottom: 6px; }

/* --- PAGE --- */
.inner, .inner-mid, .inner-narrow, .inner-vnarrow { max-width: 1440px; margin: 0 auto; position: relative; }
.inner-mid { max-width: 1140px; }
.inner-narrow { max-width: 1080px; }
.inner-vnarrow { max-width: 740px; }
.main-default { margin: 40px 0 50px; }
.main .inner, .main .inner-mid, .main .inner-narrow, .main .inner-vnarrow, .with-padding { padding-left: 20px; padding-right: 20px; }
.inner-mid .inner { padding-left: 0; padding-right: 0; }
.main ul > li { list-style-type: none; margin-bottom: 8px; line-height: 1.35;}
.main ol > li { margin-bottom: 8px; line-height: 1.35;}
.main ul > li:before { content: '•'; display: inline-block; margin-left: -10px; width: 10px; position: relative; left: -5px; }
.main ol { -webkit-font-feature-settings: "pnum" 0, "onum" 0, "lnum" 0; -moz-font-feature-settings: "pnum" 0, "onum" 0, "lnum" 0; font-feature-settings: "pnum" 0, "onum" 0, "lnum" 0 }
ul.twocol-list, ol.twocol-list { -webkit-columns: 2; -moz-columns: 2; columns: 2; -webkit-column-gap: 40px; -moz-column-gap: 40px; column-gap: 40px; }
.twocol-list li { -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; break-inside: avoid-column; }
.cols { display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; margin: 40px auto; }
.cols.two-cols .col { -ms-flex: 1 1 50%; -webkit-flex: 1 1 50%; flex: 1 1 50%; }
.cols.three-cols .col { -ms-flex: 1 1 33%; -webkit-flex: 1 1 33%; flex: 1 1 33%; }
.cols .gap, .cols.three-cols .gap { -ms-flex: 0 0 80px; -webkit-flex: 0 0 80px; flex: 0 0 80px; }
.cols .gap-sml { -ms-flex: 0 0 40px; -webkit-flex: 0 0 40px; flex: 0 0 40px; }
.cols p.col { margin: 0; }
.two-col-text { -webkit-columns: 2; -moz-columns: 2; columns: 2; -webkit-column-gap: 100px; -moz-column-gap: 100px; column-gap: 100px; }
.two-col-text p { -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; break-inside: avoid-column; }
p.intro { font-size: 1.8em; }
section { position: relative; scroll-margin-top: 110px; }
.target { scroll-margin-top: 110px; }
section.general-text { padding: 50px 0; }
.ltgrey { background: #ededed; }
.grey { background: #c1c9d4; }
.dkgrey { background: #25292f; }
.blue { background: #072b68; color: #fff; }
.white { background: #fff; }
.dkgrey h1, .dkgrey h2, .dkgrey h3, .dkgrey h4, .dkgrey h5, .dkgrey h6, .dkgrey p, .dkgrey li, .dkgrey a:link,
.blue h1, .blue h2, .blue h3, .blue h4, .blue h5, .blue h6, .blue p, .blue li, .blue a:link { color: #fff; }
.ltgrey-striped { background-image: -webkit-gradient(linear, left top, right top, color-stop(45.45%, #ededed), color-stop(45.45%, #fff), color-stop(50%, #fff), color-stop(50%, #ededed), color-stop(95.45%, #ededed), color-stop(95.45%, #fff), to(#fff)); background-image: -o-linear-gradient(left, #ededed 45.45%, #fff 45.45%, #fff 50%, #ededed 50%, #ededed 95.45%, #fff 95.45%, #fff 100%); background-image: linear-gradient(90deg, #ededed 45.45%, #fff 45.45%, #fff 50%, #ededed 50%, #ededed 95.45%, #fff 95.45%, #fff 100%); background-size: 44px;}

section.mask-top-triangle-white:before, section.mask-top-triangle-white:after, section.mask-top-triangle-blue:before, section.mask-top-triangle-blue:after, section.mask-top-left-ltgrey:before, section.mask-top-right-ltgrey:before { content: ''; position: absolute; height: 7%; height: 3.5vw; top: 0; width: 50%; }
section.mask-top-triangle-white::before { left: 0; background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(50.6%, #fff), to(#fff)); background: -o-linear-gradient(left bottom, transparent 50%, #fff 50.6%, #fff); background: linear-gradient(to right top, transparent 50%, #fff 50.6%, #fff); }
section.mask-top-triangle-white::after { right: 0; background: -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50.6%, #fff), to(#fff)); background: -o-linear-gradient(right bottom, transparent 50%, #fff 50.6%, #fff); background: linear-gradient(to left top, transparent 50%, #fff 50.6%, #fff); }
section.mask-top-triangle-blue::before { left: 0; background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(50.6%, #072b68), to(#072b68)); background: -o-linear-gradient(left bottom, transparent 50%, #072b68 50.6%, #072b68); background: linear-gradient(to right top, transparent 50%, #072b68 50.6%, #072b68); }
section.mask-top-triangle-blue::after { right: 0; background: -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50.6%, #072b68), to(#072b68)); background: -o-linear-gradient(right bottom, transparent 50%, #072b68 50.6%, #072b68); background: linear-gradient(to left top, transparent 50%, #072b68 50.6%, #072b68); }
section.mask-top-left-ltgrey.general-text, section.mask-top-right-ltgrey.general-text { padding-top: 90px; padding-top: 6vw; }
section.mask-top-triangle-white.general-text, section.mask-top-triangle-blue.general-text { padding-top: 120px; padding-top: 8vw; }
section.mask-top-left-ltgrey::before { left: 0; width: 100%; background: -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50.6%, #ededed), to(#ededed)); background: -o-linear-gradient(right bottom, transparent 50%, #ededed 50.6%, #ededed); background: linear-gradient(to left top, transparent 50%, #ededed 50.6%, #ededed); }
section.mask-top-right-ltgrey::before { left: 0; width: 100%; background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(50.6%, #ededed), to(#ededed)); background: -o-linear-gradient(left bottom, transparent 50%, #ededed 50.6%, #ededed); background: linear-gradient(to right top, transparent 50%, #ededed 50.6%, #ededed); }

.limage-rtext, .ltext-rimage { padding: 40px 0; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-align: center; -webkit-align-items: center; align-items: center; overflow: hidden; }
.limage-rtext h2, .ltext-rimage h2 { font-size: 3.1em; }
.limage-rtext > div, .ltext-rimage > div { -webkit-flex: 1 0 50%; -ms-flex: 1 0 50%; flex: 1 0 50%; }
.limage-rtext .image, .ltext-rimage .image {overflow: hidden; }
.limage-rtext .image img, .ltext-rimage .image img { width: 100%; /*! max-width: none; */ }
.limage-rtext .text { padding: 0 20px 0 100px;}
.ltext-rimage .text { padding: 0 100px 0 20px; }
.limage-rtext .text .inner, .ltext-rimage .text .inner { max-width: 600px; margin: 0; padding: 0;}
.ltext-rimage .text .inner { margin-left: auto; }

.masked-photo-left, .masked-photo-right, .masked-photo { border-radius: 35px; -webkit-transform: skew(-14deg); -ms-transform: skew(-14deg); transform: skew(-14deg); -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; overflow: hidden; padding: 0 0 0 58px; margin-left: -60px; }
.masked-photo-left img, .masked-photo-right img, .masked-photo img { display: block; -webkit-transform: skew(14deg); -ms-transform: skew(14deg); transform: skew(14deg); -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; }
.masked-photo-left img { position: relative; }
.masked-photo-right, .masked-photo { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; padding: 0 58px 0 0; margin-left: 0; margin-right: -60px; }
.masked-photo-right img, .masked-photo img { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; }
.hero .masked-photo-right, .hero .masked-photo-right img { height: 100%; width: auto; max-width: auto; aspect-ratio: 1.8;}
.inner-mid .masked-photo { margin-right: 80px; padding: 0; }
.inner-mid .masked-photo img { width: 120%; max-width: none;}
.inner-mid .limage-rtext .image, .inner-mid .ltext-rimage .image {overflow: visible; }

/* --- MAIN NAV --- */

ul.sf-menu { font-size: 1.05em; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; margin: 0; padding: 0;}
.sf-menu li { position: relative; white-space: nowrap; -webkit-transition: background .2s; -o-transition: background .2s; transition: background .2s; padding: 0 6px; }
.sf-menu li:hover > ul, .sf-menu li.sfHover > ul { display: block; }
.sf-menu a { display: block; position: relative; padding: 14px 16px; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s }
.sf-menu a:link, .sf-menu a:visited { font-weight: 400; color: #fff; -webkit-transition: all .25s; -o-transition: all .25s; transition: all .25s; text-decoration: none; }
.sf-menu a:hover, .sf-menu a:active, .sf-menu a:focus, .sf-menu li:hover > a:link, .sf-menu li.sfHover > a:link, .sf-menu .current a:link { text-decoration: none; background: #d90011;}
.sf-menu ul a { padding: 10px 10px; }
.sf-menu ul a:link, .sf-menu ul a:visited { color: #fff; }
.sf-menu ul a:hover, .sf-menu ul a:focus, .sf-menu ul a:active, .sf-menu li.sfHover li a:link { color: #fff; }
.sf-menu li br { display: none; }

.sf-menu ul { position: absolute; display: none; top: 100%; left: 0; z-index: 99; margin: 0; padding: 0; font-size: 0.6em; -webkit-box-shadow: 2px 2px 6px rgba(0,0,0,.2); box-shadow: 2px 2px 6px rgba(0,0,0,.2); min-width: 15em; }
.sf-menu ul ul {	top: 0;	left: 100%; }
.sf-menu ul li, .sf-menu ul ul li {	background: #008ed1; border-bottom: 1px solid #fff; }
.sf-menu ul li:last-child { border: none; }
.sf-menu li:hover, .sf-menu li.sfHover { -webkit-transition: none; -o-transition: none; transition: none; }
.sf-menu ul li:hover { background: #4aa3da; }
.short .sf-menu a { padding: 7px 16px; }

/* Subnav */
.subnav { margin: 0 0 20px; padding: 0; text-align: center; }
ul.subnav li { display: inline; margin: 0; font-size: 1em; }
ul.subnav li:before { display: none; }
.subnav button, .subnav a:link, .subnav a:visited { display: inline-block; font-size: 1.7em; border: none; background: none; color: #999; text-decoration: none; letter-spacing: 0.5px; text-transform: uppercase; padding: 10px 15px;}
.subnav .is-checked, .subnav .current a:link, .subnav .current a:visited { color: #072b68; text-decoration: underline; }
.subnav button:hover, .subnav button:focus, .subnav a:hover, .subnav a:focus { color: #072b68; }


/* Mobile */
.mob-nav-btn, .close-modal { position: absolute; top: 0; right: 10px; margin: 3px 0 0 16px; background: none; border: none; cursor: pointer; height: 40px; width: 45px; -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); /*! transition: all 0.5s ease-in-out 0s; */ z-index: 9999; }
.mob-nav-btn span, .close-modal span { background-color: #acacac; border-radius: 5px; display: block; height: 3px; left: 10px; opacity: 1; position: absolute; -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: all 0.25s ease-in-out 0s; -o-transition: all 0.25s ease-in-out 0s; transition: all 0.25s ease-in-out 0s; width: 25px; }
.mob-nav-btn span:nth-child(1) { top: 7px; }
.mob-nav-btn span:nth-child(2),.mob-nav-btn span:nth-child(3) { top: 17px; }
.mob-nav-btn span:nth-child(4) { top: 27px; }
.mob-nav-btn.open span:nth-child(1), .mob-nav-btn.open span:nth-child(4), .close-modal span:nth-child(1) { left: 50%; top: 50%; width: 0; height: 1px; }
.mob-nav-btn.open span:nth-child(2), .close-modal span:nth-child(2) { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.mob-nav-btn.open span:nth-child(3), .close-modal span:nth-child(3) { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
.close-modal { top: 10px; right: 14px;}
.close-modal span { background-color: #072b68; width: 30px;}
#mobNavBtn2 { top: 50px; right: 0; }

#mobnav { position: fixed; z-index: 99; top: 0; bottom: 0; width: 330px; height: 2000px; -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.3); box-shadow: 0 0 20px rgba(0,0,0,0.3); margin: -50px 0 0 -50px; padding: 60px 20px 50px 70px; background: #072b68; -webkit-font-smoothing: antialiased; -webkit-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: translate(-100%, 0); -ms-transform: translate(-100%, 0); transform: translate(-100%, 0); -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); transition: -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); -o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);}
#mobnav a:link, #mobnav a:visited { color: #fff; text-decoration: none; }
#mobnav a.current { font-weight: 600; }
#mobnav ul { padding: 0 2px 10px;}
#mobnav li { padding: 10px 0; -webkit-transition-delay: 2s; -o-transition-delay: 2s; transition-delay: 2s; }
#mobnav.open { -webkit-transform: none; -ms-transform: none; transform: none; }
.mobnav-services { border-bottom: 1px solid #c8d1e1; font-size: 1.05em;}
.mobnav-other { font-size: .95em;}
.mobnav-other input { width: 135px; margin-right: 3px; padding: 5px;}
.mobnav-other .btn.btn-sml { padding: 9px 12px; min-width: 60px;}

/* CTAs */
section.ctas { padding: 40px 15px; }
.ctas h2 { margin-bottom: 1em;}
.ctas a.btn:link { min-width: 180px; }

.ctabox:link, .ctabox:visited { display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; height: 170px; background: #d90011; color: #fff; text-decoration: none; font-size: 1.8em; font-weight: 600; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; background-size: cover; background-repeat: no-repeat; background-position: right bottom; }
.ctabox span { padding-right: 70px; text-align: right; }
.ctabox:hover, .ctabox:focus { background-color: #f73509; }
.ctabox.ctaradio { background-image: url(/assets/bg/ctabox-headphones.png); }
.ctabox.ctagallery{ background-image: url(/assets/bg/ctabox-gallery.png); background-position: center; }


/* Buttons + Links */

.btn, a.btn, a.btn:link, input.btn { display: inline-block; position: relative; text-decoration: none; background: #d90011; border: none; border-radius: 5px; color: #fff; font-weight: 700; font-size: 1.2em; padding: 19px 36px 20px; margin: 5px; transition: transform .3s, box-shadow .3s; transform: scale(0.99); line-height: 1; min-width: 80px; overflow: hidden;}
.btn:hover, a.btn:hover, a.tel.btn:hover, .btn:focus, a.btn:focus, a.tel.btn:focus { background: #f73509; background: linear-gradient(135deg,  #f73509 0%,#ea0003 100%); color: #fff; font-weight: 700; box-shadow: 0 5px 15px -5px rgba(0,0,0,0.2); cursor: pointer; transform: scale(1.02); }
.btn:after { content: ""; display: block; position: absolute; background: rgba(255, 255, 255, 0.5); width: 40px; height: 100%; top: 0; filter: blur(10px); transform: translateX(-130px) skewX(-15deg); }
.btn:hover:after { transform: translateX(300px) skewX(-15deg); transition: .7s; }

a.btn-green:link, a.btn-green:visited { background: #088529; }
a.btn-green:hover, a.btn-green:focus { background: #029b2b; background: -o-linear-gradient(315deg, #02ba13 0%,#029b2b 100%); background: linear-gradient(135deg, #02ba13 0%,#029b2b 100%); }
.btn-disabled, .btn-disabled:hover, .btn-disabled:focus { background: #bbb; cursor: not-allowed; }
a.btn:visited { color: #fff; }
.btn-med, a.btn-med, a.btn-med:link, input.btn-med { border-radius: 4px; font-size: 1.1em; padding: 14px 30px 15px; }
a.tel.btn, a.whatsapp.btn { padding-left: 70px;}
a.tel.btn:before, a.whatsapp.btn:before { content: ''; display: inline-block; width: 32px; height: 32px; position: absolute; left: 28px; top: 13px; background: url(/assets/icons/common.png?a=1) no-repeat 0 -50px; background-size: 100px;}
a.whatsapp.btn:before { background-position: 0 -100px; }
.btn:first-child, a.btn:first-child, a.btn:link:first-child, input.btn:first-child { margin-left: 0; }
.btn:last-child, a.btn:last-child, a.btn:link:last-child, input.btn:last-child { margin-right: 0; }
.btn-wide { padding: 14px 100px 15px; }
.btn-wide:after { transform: translateX(-180px) skewX(-15deg); }
.btn.btn-sml { padding: 6px 8px 7px; font-size: 1em;}

a:link, a:visited, a.tel:hover, .topnav button { color: #072b68; font-weight: 500; letter-spacing: 0.005em;  -webkit-transition: color .3s; -o-transition: color .3s; transition: color .3s, transform .3s; }
a:hover, a:focus, a:active { color: #d90011; }
.arrowlink a, .arrowlinkback a, a:link p.arrowlink { font-weight: 700; position: relative; margin: 0; padding-right: 0px; line-height: 1.5; text-decoration: none; }
.arrowlink a:after, .arrowlinkback a:before, a:link p.arrowlink:after { content: '›'; display: inline-block; margin: -10px -10px -6px 10px; /* position: absolute; right: 9px; top: -0.13em; */ position: relative; top: 4px; font-size: 2.5em; line-height: 20px; height: 20px; font-weight: 400; }
.arrowlinkback a:before { content: '‹';  margin: -10px 10px -6px 0; }

a.soc-icon-round:link, a.soc-icon-round:visited { text-decoration: none; display: inline-block; background: url(/assets/icons/social.png) no-repeat 0 0; background-size: 100px; border-radius: 50%; width: 46px; height: 46px; margin: 10px 5px; transition: transform .2s; }
a.soc-icon-round.icon-fb { background-position: 0 -50px;}
a.soc-icon-round.icon-in { background-position: 0 -100px;}
a.soc-icon-round:hover, a.soc-icon-round:focus { transform: scale(1.1); }
a.soc-icon-round.icon-twit:hover, a.soc-icon-round.icon-twit:focus { background-position: -50px 0;}
a.soc-icon-round.icon-fb:hover, a.soc-icon-round.icon-fb:focus { background-position: -50px -50px;}
a.soc-icon-round.icon-in:hover, a.soc-icon-round.icon-in:focus { background-position: -50px -100px;}

/* --- FORMS --- */
form p { margin: 0 0 6px; position: relative; clear: left; padding: 3px 0; }
input.textinput, textarea.textinput { background: #fff; border: 1px solid #333; padding: 8px; color: #00214b; line-height: 1.2em;}
input.textinput.error, textarea.textinput.error, select.error { border: 1px solid #d00; }
input.textinput:focus, input.textinput:active, textarea.textinput:focus, textarea.textinput:active { border: 1px solid #388d00; outline: 1px solid #388d00; color: #000; }
textarea.textinputwide { width: 560px; max-width: 560px; height: 140px;}

label, .radio span { display: block; margin-right: 0.8em; padding: 3px 0 2px; font-weight: bold; }
.radio span.required { display: inline; margin: 0; float: none; padding: 0; }
.radio span.radioblock { width: auto; text-align: left; padding: 0 0 4px;}
.textinput, .inputwidth { width: 380px; max-width: 380px; }
.radio input { margin-right: 6px; }
.radio label { width: auto; margin-right: 22px;}
p.radio { overflow: hidden;}
p.indent { padding-left: 9.8em; } 
p.hp { display: none !important; }
p.checkbox label { width: auto; float: none; }
input.checkbox { margin-right: 10px;}
textarea { height: 100px; }
select.textinput { width: auto; }
.inputwidth { display: inline-block; }
span.required, em.required, strong.required, .radio span.required { color: #d00; font-weight: bold; }
select.required { color: #000; font-weight: normal; }
.formerrors { padding: 8px 7px 3px 1px; line-height: 1em; background: #fcf8b6; margin: 1em 0; list-style-type: none; }
.formerrors li { font-size: 1.5em; padding: 4px 14px; margin: 0; font-weight: 600; color: #000; }
.main .formerrors li:before { display: none; }
input.btn::-moz-focus-inner { border: 0; padding: 0; } 


/* --- HEADER --- */
header { -webkit-box-shadow: 0px 7px 10px -7px rgba(0,0,0,0.2); -moz-box-shadow: 0px 7px 10px -7px rgba(0,0,0,0.2); box-shadow: 0px 7px 20px -5px rgba(0,0,0,0.2); position: fixed; width: 100%; top: 0; z-index: 19; }
body { padding-top: 238px;}

header .topbar { background: #fff; padding: 0 20px; }
.topbar .inner { padding: 30px 20px 27px; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s }
header .navbar { background: #072b68; color: #fff; }
.navbar .inner { position: relative; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; }
header nav a:link { color: #fff; }
header .strapline { color: #072b68; font-weight: 900; font-style: italic; font-size: 2.8em; line-height: 1.13; margin: 5px 0; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s}
header .tel { font-size: 2.8em; white-space: nowrap; margin: 5px 0 5px 20px; line-height: 1.13; }
header .tel a:link, header .tel a:visited { color: #d90011; font-weight: 900; font-style: italic; position: relative; padding-left: 44px; }
header .tel a:before, .telicon a:before, .whatsappicon a:before { content: ''; display: inline-block; background: url(/assets/icons/common.png?a=1) no-repeat 0 0; background-size: 100px; width: 42px; height: 42px; position: absolute; left: 0; top: -3px; }
header .tel a:before { background-size: 86px; width: 38px; }
.whatsappicon a:before { background-position: 0 -150px; }
.navbar .strapline { color: #fff; font-size: 2em; margin: 0; padding: 12px 20px; }
header p { margin: 0; }
.header-logo img { -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; }
header .desk .buttons { margin: 0 0 0 20px; line-height: 1;}
header .desk a.btn, header .desk a.btn:link { font-size: 1.1em; padding: 12px 18px 13px 52px; }
header .desk a.whatsapp.btn:before { left: 16px; top: 8px; background-size: 80px; background-position: 0 -80px;}


.short .topbar .inner { padding-top: 10px; padding-bottom: 8px; }
.short .header-logo img { height: 80px; width: auto;}
.short .logo { margin-right: 27px; }
.short .strapline { font-size: 2.3em; }
.short .header-text p.tel, .short .header-text p.buttons { display: none; }

.header-content, .header-text.desk { display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; -ms-flex-align: center; -webkit-align-items: center; align-items: center; width: 100%; }
.header-text.desk { justify-content: flex-end; -webkit-align-content: stretch; align-content: stretch; -webkit-align-items: center; align-items: center; }
.header-logo { -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; padding-top: 3px; }
.header-text { text-align: right; padding: 10px 0 0 24px; }
header .logo { margin-right: 38px; }
.header-logo a { white-space: nowrap; }
header .mob { display: none; }
.header-sticky-buttons { display: none; }
.short .header-text.desk { display: block; width: auto;}
.short .header-sticky-buttons { display: block; }
.header-sticky-buttons { margin-left: 20px; }
.header-sticky-buttons a.btn { margin-bottom: 0; margin-top: 17px; padding: 11px 26px 12px;}
.header-sticky-buttons a.tel.btn, .header-sticky-buttons a.whatsapp.btn { padding-left: 50px;}

.header-sticky-buttons a.tel.btn:before, .header-sticky-buttons a.whatsapp.btn:before {transform: scale(0.8); top: 4px; left: 11px; }
a.whatsapp.btn:before { background-position: 0 -100px; }


.topnav { margin: 0; padding: 0 20px 0 0; position: absolute; right: 0; top: 0; display: -ms-flexbox; display: -webkit-flex; display: flex; }
.topnav li { list-style-type: none; display: inline-block;}
.topnav a:link, .topnav a:visited, .topnav button { display: block; padding: 10px 20px; background: none; border: none; color: #111; font-weight: 500; line-height: 130%; text-decoration: none; position: relative; transition: all .3s }
.topnav a.current:link, .topnav a.current:visited, .topnav a:hover, .topnav a:focus, .topnav button:hover, .topnav button:focus { color: #d90011; }
.topnav a:after { content: ''; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); display: inline-block; border-left: 1px solid #949494; height: 15px; width: 1px;}
.topnav li:last-child a:after { display: none; }
.topnav .search { padding-right: 25px;}
.topnav .search:after { content: ''; display: block; background: url(/assets/icons/common.png?a=1) no-repeat 0 -120px; background-size: 50px; width: 14px; height: 18px; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.short .topnav a:link, .short .topnav button { padding: 8px 20px; font-size: 0.9em;}

p.telicon, p.whatsappicon{ position: relative; line-height: 1.2;}
.telicon a, .whatsappicon a { position: relative; padding: 8px 0 8px 50px; }

.modal-search { max-width: 750px; margin: 20px auto; position: relative; }
.modal-search input { width: 100%; border-radius: 30px; border: 1px solid #d1d1d1; font-size: 1.3em; padding: 18px 22px;}
.modal-search button { position: absolute; right: 0; top: 0; bottom: 0; width: 70px; border: none; background: url(/assets/icons/common.png?a=1) no-repeat 15px -278px; background-size: 120px;}


/* Files */
p.file { border-bottom: 1px solid #666; padding: 20px 0; }
.file a, .file strong { display: inline-block; min-height: 48px; padding: 2px 0 20px; font-size: 1.1em; font-weight: 700; line-height: 110%; position: relative; text-decoration: none; }
.file a span:before, .file strong span:before { content: ''; display: block; height: 75px; width: 68px; position: absolute; left: 0; top: 0; background: url(/assets/icons/files.png) no-repeat 0 -100px; background-size: 100px; }
.file a:link span, .file strong span, .file a:visited span { display: block; padding: 55px 0 0 70px; margin-top: 12px;font-weight: 400; font-size: 0.9em; line-height: 105%; color: #888; position: relative;}
.file a.file-pdf span:before { background-position: 0 0; }
.nofiles p, p.nofile { border-left: 3px solid #b70022; padding-left: 10px; color: #b70022; }
.nofiles p strong, p.nofile strong { font-size: 1.3em; }

/* --- CONTENT --- */
ul.lrg { font-size: 1.3em; margin: 2em 0; }
ul.lrg li {font-weight: 700; margin: 4px 0;}

/* FOOTER */
footer { background: #25292f; color: #fff; padding: 50px 20px 2px;}
footer h6 { font-size: 1.8em; color: #a2a2a2; border-bottom: 1px solid #363a41; padding: 0 20px 15px 0; margin-bottom: 15px; white-space: nowrap; }
footer p { font-size: 1.5em; line-height: 165%; margin: 0 15px 1.35em 0;}
footer a:link, footer a:visited { color: #fff; text-decoration: none; }
footer a:hover, footer a:focus { text-decoration: underline; }

.footer-links, .footer-logos { display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.footer-links .col { -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; flex: 1 1 auto; }

.footer-logos { -webkit-align-items: center; -ms-flex-align: center; align-items: center; padding-bottom: 10px; }
.footer-logos .logo-circle, .footer-logos .rr-logo-box { display: inline-block; background: #fff; text-align: center; margin: 10px 15px 30px 0;}
.footer-logos .logo-circle { border-radius: 50%; width: 142px; height: 142px; padding-top: 45px; }
.footer-logos .rr-logo-box { width: 150px; height: 78px; padding-top: 10px; }
.footer-logos .col { vertical-align: middle; }
.footer-logos .col-right { text-align: right;}
footer .iopsa { margin: 0 30px 18px 0;}

.footer-copyright { border-top: 1px solid #363a41; padding: 20px 0; font-size: 0.9em; }
.footer-copyright p { margin: 0; }


.modal-inner { background: #fff; max-width: 1140px; margin: 0 auto; padding: 40px; position: relative; top: 150px; font-size: 1.6em;}  
.modal-wrapper { display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 999; background: rgba(0, 0, 0, 0.5); padding: 0 30px;} 



/* --- RESPONSIVE ---  */
@media screen and (max-width: 1690px) {
.limage-rtext .masked-photo-left img, .ltext-rimage .masked-photo-right img { height: 100%; width: auto; max-width: none; }
.limage-rtext .masked-photo-left img { right: 10%; }
}
@media screen and (max-width: 1550px) {
.limage-rtext .image img { right: 20%;  }
}

@media screen and (max-width: 1380px) {
.limage-rtext .text { padding-left: 60px; font-size: 0.95em; }
.ltext-rimage .text { padding-right: 60px; font-size: 0.95em; }
header .strapline, header .tel { font-size: 2.5em;  }
}

@media screen and (max-width: 1300px) {
ul.sf-menu { font-size: 1em; }
.header-text.desk { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-text.desk .strapline { flex: 1 0 100%;}
header .strapline, header .tel { font-size: 2.7em; }
header .tel { margin: 5px 0; }
}
@media screen and (max-width: 1280px) {
.topnav { padding-right: 10px; }
.topbar .inner { padding-left: 10px; padding-right: 10px;}
}

@media screen and (max-width: 1240px) {
.short .strapline { display: none; }
.short .navbar { min-height: 0; }
}

@media screen and (max-width: 1220px) {
body { padding-top: 236px;}
.limage-rtext h2, .ltext-rimage h2 { font-size: 2.8em;}
.limage-rtext p, .ltext-rimage p { line-height: 1.4;}
.topnav { font-size: 0.95em; }
ul.sf-menu { -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; margin: 0 15px; }
.sf-menu li { padding: 0; white-space: normal; text-align: center; line-height: 1.1; }
.sf-menu li br { display: inline; }
.sf-menu a { padding: 0 12px; height: 51px; display: table-cell; vertical-align: middle; }
.sf-menu li.long a { min-width: 180px;}
}

@media screen and (max-width: 1100px) {
.two-col-text { -webkit-column-gap: 50px; -moz-column-gap: 50px; column-gap: 50px; }
.limage-rtext .text { padding-left: 30px; }
.ltext-rimage .text { padding-right: 30px;}

}

@media screen and (max-width: 1024px) {
body { padding-top: 223px;}
header .strapline, header .tel { font-size: 2.5em; }
header .tel a:before { background-size: 80px; width: 36px; height: 36px; }
header .tel a:link, header .tel a:visited { padding-left: 40px; }
header .header-logo img { height: 110px; width: auto;}
header .logo { margin-right: 32px; }

.topnav { font-size: 0.92em; }
.topnav a:link, .topnav a:visited, .topnav button { padding: 10px 16px; }
.footer-links { -ms-flex-wrap: wrap; flex-wrap: wrap; }
.footer-links .col1, .footer-links .col2 { width: 50%; margin-bottom: 20px;}
.ctabox span { padding-right: 50px; }
.ctabox.ctaradio { background-position: -60px top; }

}

@media screen and (max-width: 1000px) {
h1, .h1 { font-size:3.6em; }
h2 { font-size:3.2em;  }
}
@media screen and (max-width: 950px) {
.cols.three-cols .gap { -webkit-flex: 0 0 60px; -ms-flex: 0 0 60px; flex: 0 0 60px; }
}

@media screen and (max-width: 920px) {
ul.sf-menu { font-size: 0.95em; }
.sf-menu li.long a { min-width: 170px;}
.sf-menu a, .short .sf-menu a { padding-left: 10px; padding-right: 10px; }
.ctabox span { padding: 0 40px 0 140px; }
.ctabox.ctaradio span { padding-left: 180px; }
.ctabox.ctaradio { background-position: -60px top; }
}
@media screen and (max-width: 860px) {
header .strapline, header .tel { font-size: 2.3em; }
}

@media screen and (max-width: 880px) {
body { padding-top: 218px;}
.topbar .inner { padding: 30px 10px 22px 8px; }
.two-col-text { -webkit-columns: 1; -moz-columns: 1; columns: 1; }
section.mask-top-left-ltgrey.general-text { padding-top: 60px; }
.cols .gap, .cols.three-cols .gap { -ms-flex: 0 0 60px; -webkit-flex: 0 0 60px; flex: 0 0 60px; }
.header-sticky-buttons { font-size: 0.9em; }
.header-sticky-buttons a.tel.btn:before, .header-sticky-buttons a.whatsapp.btn:before {-webkit-transform: scale(0.7);-ms-transform: scale(0.7);transform: scale(0.7); top: 3px; left: 5px; }
.header-sticky-buttons a.btn { margin-left: 2px; padding-right: 20px;}
.header-sticky-buttons a.tel.btn, .header-sticky-buttons a.whatsapp.btn { padding-left: 40px;}

.limage-rtext .masked-photo-left img, .ltext-rimage .masked-photo-right img { height: 350px; }
.limage-rtext .masked-photo-left.mp-tall img, .ltext-rimage .masked-photo-right.mp-tall img { height: 400px; }
}

@media screen and (max-width: 820px) {
header .header-logo img { height: 100px; }
body { padding-top: 208px;}
header .strapline { font-size: 2.2em; }
.ctabox.ctagallery { background-position: -70px center; }
section.mask-top-triangle-white:before, section.mask-top-triangle-white:after, section.mask-top-triangle-blue:before, section.mask-top-triangle-blue:after, section.mask-top-left-ltgrey:before, section.mask-top-right-ltgrey:before { height: 5vw;}
}


@media screen and (max-width: 768px) {
body { padding-top: 172px;}
section.mask-top-left-ltgrey.general-text { padding-top: 50px; }
header .mob { display: block; }
.header-text.desk, header .desk, .short .header-sticky-buttons { display: none; }
.topbar .inner { padding: 12px 10px 8px 4px; }
header .logo { margin-right: 20px; }
header .header-logo img { height: 100px; }
.header-text { padding: 0; }
.header-text.mob { font-size: 0.9em; }
.header-text a.btn { padding: 14px 30px 15px;}
.header-text a.whatsapp.btn { padding-left: 60px;}
.header-text a.whatsapp.btn:before { left: 18px; top: 6px; transform: scale(0.85); }
.btn, a.btn, a.btn:link, input.btn { font-size: 1.1em; padding: 16px 30px 17px; }
.btn-wide { padding: 14px 80px 15px; }
a.tel.btn, a.whatsapp.btn { padding-left: 60px;}
a.tel.btn:before, a.whatsapp.btn:before { left: 20px; top: 10px; transform: scale(0.9); }
.btn-med, a.btn-med, a.btn-med:link, input.btn-med { font-size: 1.05em; padding: 11px 28px 12px; }
.navbar { min-height: 46px; max-height: 46px; }
.short .topbar .inner { padding-top: 7px; padding-bottom: 5px; }
.short .header-logo img { height: 50px; }
.short .header-text { margin-right: 40px;}
.short .header-text a.btn { padding: 10px 24px 11px; margin-bottom: 2px;}
.short .header-text a.whatsapp.btn { padding-left: 50px;}
.short a.whatsapp.btn:before { left: 12px; top: 2px; transform: scale(0.7); }
.short #mobNavBtn { top: -55px; }
.ctas a.btn:link { min-width: 160px; }
.limage-rtext .text { padding-left: 20px; }
.ltext-rimage .text { padding-right: 20px;}
.ctabox span { padding-right: 30px; }
.ctabox.ctagallery { background-position: -85px center; }
 .reviewgooglelogo { width: 200px; }
}

@media screen and (max-width: 720px) {
.cols.three-cols { display: block; }
.cols.three-cols .gap { height: 32px;}
.cols.three-cols.text .gap { height: 1px }
.limage-rtext, .ltext-rimage { -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 20px 0; }
.ltext-rimage { -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; }
.inner-mid .ltext-rimage { -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; }

.limage-rtext > div, .ltext-rimage > div { -webkit-flex: 1 0 100%; -ms-flex: 1 0 100%; flex: 1 0 100%; }
.ltext-rimage .image { -webkit-flex: 0 1 70%; -ms-flex: 0 1 70%; flex: 0 1 70%; margin-bottom: 2.5em; text-align: center; }
.limage-rtext.bleed .image, .ltext-rimage.bleed .image { -webkit-flex: 0 1 90%; -ms-flex: 0 1 90%; flex: 0 1 90%; margin-bottom: 2.5em;}
.limage-rtext .text .inner, .ltext-rimage .text .inner { max-width: none; margin: 0; padding: 0;}
.ltext-rimage .text { -ms-flex-order: 2; -webkit-order: 2; order: 2;}
.limage-rtext .masked-photo-left img, .ltext-rimage .masked-photo-right img { height: auto; width: 100%; right: 0;}
.limage-rtext .masked-photo-left.mp-tall img, .ltext-rimage .masked-photo-right.mp-tall img { height: auto; }
section.general-text { padding: 30px 0; }
section.mask-top-triangle-white.general-text, section.mask-top-triangle-blue.general-text { padding-top: 70px; padding-top: 10vw; }
.cols .gap-sml { -ms-flex: 0 0 26px; -webkit-flex: 0 0 26px; flex: 0 0 26px; }

.ctabox:link { height: 145px; }
.ctabox.ctaradio { background-position: -50px top; }
.ctabox.ctagallery { background-position: -65px center; }
.ctabox.ctagallery span { padding-left: 120px; }
.ctabox.ctaradio span { padding-left: 140px; }

}

@media screen and (max-width: 650px) {
.two-cols { display: block; }
h1 { font-size:3.8em; }
h2 { font-size:3.4em; }
footer .iopsa { width: 130px; margin-right: 20px; }
footer .pirb { width: 95px; }
.ctabox:link { height: 100px; margin-bottom: 20px;}
.ctabox.ctaradio { background-size: 420px; background-position: left bottom; }
.ctabox.ctagallery { background-size: 420px; background-position: left center; }
}

@media screen and (max-width: 620px) {
.header-text .buttons { max-width: 160px; line-height: 1; }
.short .header-text .buttons { max-width: 360px; }
.header-text a.btn { width: 100%; margin: 2px 0; text-align: center;}
.short .header-text { margin-right: 30px; }
.short .header-text a.btn { width: auto; margin: 0 5px 0 2px; }
.topbar .inner { padding: 10px 5px; }
.ltext-rimage .image { -webkit-flex: 0 1 80%; -ms-flex: 0 1 80%; flex: 0 1 80%; }
}

@media screen and (max-width: 580px) {
section.mask-top-left-ltgrey.general-text { padding-top: 35px; }
}

@media screen and (max-width: 550px) {
.limage-rtext.bleed .image, .ltext-rimage.bleed .image { -webkit-flex: 0 1 96%;; -ms-flex: 0 1 96%; flex: 0 1 96%; }
.limage-rtext .masked-photo-left img, .ltext-rimage .masked-photo-right img { width: 110%; right: 5%;}
}

@media screen and (max-width: 520px) {
body { padding-top: 162px;}
header .header-logo img { height: 90px; }
.header-text .buttons { max-width: 140px; }
.header-text.mob { font-size: 0.8em; }
.header-text a.btn { padding: 12px 28px 13px;}
.header-text a.whatsapp.btn { padding-left: 52px;}
.header-text a.whatsapp.btn:before { left: 12px; top: 3px; -webkit-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); }
.short .header-text a.btn { padding: 10px 16px 11px; }
.short .header-text a.whatsapp.btn { padding-left: 40px;}
.short .header-text a.whatsapp.btn:before { left: 7px; top: 1px; -webkit-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); }
ul.twocol-list, ol.twocol-list { -webkit-columns: 1; -moz-columns: 1; columns: 1; }
.modal-search input { font-size: 1.2em; padding: 16px 20px;}
.modal-inner { padding: 35px 30px; top: 130px; }
.close-modal { top: 7px; right: 10px; }
.close-modal span { width: 25px;}
.ltext-rimage .image { -webkit-flex: 0 1 85%; -ms-flex: 0 1 85%; flex: 0 1 85%; }
}

@media screen and (max-width: 480px) {
.navbar { min-height: 42.5px; max-height: 42.5px; }
body { padding-top: 158px;}
h1 { font-size:3.6em; }
h2 { font-size:3.2em; }
.footer-links .col1 { width: 100%; }
ul.lrg { font-size: 1.2em;}
.navbar .strapline { font-size: 1.65em; }
section.general-text { padding: 25px 0; }
.footer-logos .rr-logo-box { width: 140px; height: 78px; padding-top: 10px; }
section.mask-top-triangle-white:before, section.mask-top-triangle-white:after, section.mask-top-triangle-blue:before, section.mask-top-triangle-blue:after, section.mask-top-left-ltgrey:before, section.mask-top-right-ltgrey:before { height: 6vw;}
}

@media screen and (max-width: 450px) {
.ctabox.ctaradio { background-position: -50px bottom; }
.ctabox.ctagallery { background-position: -50px center; }
.short .header-logo { height: 50px; }
.short .header-logo img { display: none;}
.short #mobNavBtn { top: -53px; }
.subnav button, .subnav a:link, .subnav a:visited { font-size: 1.6em; letter-spacing: 0; padding: 8px 12px;}
footer .iopsa { width: 120px; margin-right: 10px; }

}

@media screen and (max-width: 420px) {
h1, .h1 { font-size:3.3em; }
h2 { font-size:3em;  }
body { padding-top: 151px;}
header .header-logo img { height: 80px; }
.topbar .inner { padding: 10px 0; }
.limage-rtext.bleed .image, .ltext-rimage.bleed .image { -webkit-flex: 0 1 100%; -ms-flex: 0 1 100%; flex: 0 1 100%; }
.ctabox span { padding-right: 20px; }
.short .header-text { margin-right: 35px;}
footer .iopsa { margin: 0 0 10px; }
footer .pirb { margin-left: 40px;}

}

@media screen and (max-width: 400px) {
section.mask-top-left-ltgrey.general-text { padding-top: 20px; }

.footer-links .col { width: 100%; margin-bottom: 20px;}
.footer-logos { display: block;}
.footer-logos .col-left { display: none; }
.footer-logos .col.col-right { text-align: left; padding-bottom: 30px;}

footer .iopsa { margin: 0 0 20px; }
footer .pirb { margin-left: 15px;}
}

@media screen and (max-width: 380px) {
body { padding-top: 131px;}
header .topbar { padding: 0 14px;}
.topbar .inner { padding: 5px 0; }
header .header-logo img { height: 70px; }
.header-text .buttons { max-width: 110px; }
.header-text.mob { font-size: 0.75em; }
.header-text a.btn { padding: 10px 10px 11px;}
.header-text a.whatsapp.btn { padding-left: 32px;}
.header-text a.whatsapp.btn:before { left: 2px; top: 1px; -webkit-transform: scale(0.55); -ms-transform: scale(0.55); transform: scale(0.55); }
.short .header-text { margin-right: 40px;}
}
@media screen and (max-width: 360px) {
body { padding-top: 125.5px;}
.navbar { min-height: 37px; max-height: 37px; }
.navbar .strapline { color: #fff; font-size: 1.5em; margin: 0; padding: 10px 15px; }
#mobNavBtn { right: 5px; top: -3px; -webkit-transform: scale(0.9); -ms-transform: scale(0.9); transform: scale(0.9); }
.short .header-text { margin-right: 35px;}
}

/* margin/padding utilities */
.m-0 { margin: 0 !important; }
.mt-0,.my-0 { margin-top: 0 !important; }
.mr-0,.mx-0 { margin-right: 0 !important; }
.mb-0,.my-0 { margin-bottom: 0 !important; }
.ml-0,.mx-0 { margin-left: 0 !important; }
.m-1 { margin: 0.25rem !important; }
.mt-1,.my-1 { margin-top: 0.25rem !important; }
.mr-1,.mx-1 { margin-right: 0.25rem !important; }
.mb-1,.my-1 { margin-bottom: 0.25rem !important; }
.ml-1,.mx-1 { margin-left: 0.25rem !important; }
.m-2 { margin: 0.5rem !important; }
.mt-2,.my-2 { margin-top: 0.5rem !important; }
.mr-2,.mx-2 { margin-right: 0.5rem !important; }
.mb-2,.my-2 { margin-bottom: 0.5rem !important; }
.ml-2,.mx-2 { margin-left: 0.5rem !important; }
.m-3 { margin: 1rem !important; }
.mt-3,.my-3 { margin-top: 1rem !important; }
.mr-3,.mx-3 { margin-right: 1rem !important; }
.mb-3,.my-3 { margin-bottom: 1rem !important; }
.ml-3,.mx-3 { margin-left: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.mt-4,.my-4 { margin-top: 1.5rem !important; }
.mr-4,.mx-4 { margin-right: 1.5rem !important; }
.mb-4,.my-4 { margin-bottom: 1.5rem !important; }
.ml-4,.mx-4 { margin-left: 1.5rem !important; }
.m-5 { margin: 3rem !important; }
.mt-5,.my-5 { margin-top: 3rem !important; }
.mr-5,.mx-5 { margin-right: 3rem !important; }
.mb-5,.my-5 { margin-bottom: 3rem !important; }
.ml-5,.mx-5 { margin-left: 3rem !important; }
.p-0 { padding: 0 !important; }
.pt-0,.py-0 { padding-top: 0 !important; }
.pr-0,.px-0 { padding-right: 0 !important; }
.pb-0,.py-0 { padding-bottom: 0 !important; }
.pl-0,.px-0 { padding-left: 0 !important; }
.p-1 { padding: 0.25rem !important; }
.pt-1,.py-1 { padding-top: 0.25rem !important; }
.pr-1,.px-1 { padding-right: 0.25rem !important; }
.pb-1,.py-1 { padding-bottom: 0.25rem !important; }
.pl-1,.px-1 { padding-left: 0.25rem !important; }
.p-2 { padding: 0.5rem !important; }
.pt-2,.py-2 { padding-top: 0.5rem !important; }
.pr-2,.px-2 { padding-right: 0.5rem !important; }
.pb-2,.py-2 { padding-bottom: 0.5rem !important; }
.pl-2,.px-2 { padding-left: 0.5rem !important; }
.p-3 { padding: 1rem !important; }
.pt-3,.py-3 { padding-top: 1rem !important; }
.pr-3,.px-3 { padding-right: 1rem !important; }
.pb-3,.py-3 { padding-bottom: 1rem !important; }
.pl-3,.px-3 { padding-left: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.pt-4,.py-4 { padding-top: 1.5rem !important; }
.pr-4,.px-4 { padding-right: 1.5rem !important; }
.pb-4,.py-4 { padding-bottom: 1.5rem !important; }
.pl-4,.px-4 { padding-left: 1.5rem !important; }
.p-5 { padding: 3rem !important; }
.pt-5,.py-5 { padding-top: 3rem !important; }
.pr-5,.px-5 { padding-right: 3rem !important; }
.pb-5,.py-5 { padding-bottom: 3rem !important; }
.pl-5,.px-5 { padding-left: 3rem !important; }
