/*
Author: Tribtec
Theme URI: https://tribtec.ie/
Author URI: https://tribtec.ie/
red #d90909
red dark 9c0000
pale  #f7f8f9

*/

p { line-height: 1.6em; margin-bottom: 1.25rem;}
.trib_debuginfo { background:#E00; color:#fff; padding:2px; }

li { break-inside: avoid-column; }


@media screen and (max-width: 600px) { 
.wp-caption { line-height: 1.2em; font-size: 0.95em;}
}


@media (max-width: 460px){ 
	.col-xs-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}
@media (max-width: 380px){ 
	.col-xxs-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}
@media (max-width: 320px){ 
	.col-xxxs-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}
/* if a container is in a col, it has extra padding at the sides (usually removed by a row class */
.outerwrapcontainer > .container-fluid,
.outerwrapcontainer > .container { padding-left: 0; padding-right: 0;}


.trib-row { width: 100%; }
/* .trib-row.row.tr-hfull {align-items: stretch;} don't need to do this? Just make child flex...? */
.trib-row.row.tr-hfull > div { display:flex;}

.trib-row.row.tr-hfull > div > div,
.trib-row.row.tr-hfull > div > .trh100 {display: flex;	flex-direction: column; flex-wrap: nowrap;width: 100%;  border:1px solid #ddd; margin:1em auto; }
.trib-row.row.tr-hfull.trcenter > div > .trh100,
.trib-row.row.tr-hfull > div > .trcenter {	justify-content: center;  align-items: center;}
.trib-row.row.tr-hfull.trtop > div > .trh100,
.trib-row.row.tr-hfull > div > .trtop  { justify-content: flex-start;}

	


body { min-width:300px;}
a {color: #d90909;}
a:hover {color:#9c0000;}

.page-content, .entry-content, .entry-summary { margin-top: 0;}
#main > article > .entry-content > p:first-child { font-size:1.2em;}

.hide { display:none!important;}

.accent{ background-color:#d90909;}
.maincolour {background-color: #9c0000;}

.white { background-color:#fff;}
.pale { background-color:#f3f3f8;} 
.light { background-color: #f7f8f9;}
.mid { background-color:#ddd;}
.middark { background-color:#888;}
.dark { background-color:#555;}

.maincolour p, .maincolour h1, .maincolour h2, .maincolour h3, .maincolour h4, .maincolour h5, .maincolour li { color:#FFF;}
.maincolour.transparent { background-color:rgba(0, 30, 49, 0.3);}
.maincolour.transparent h1, .maincolour.transparent h2, .maincolour.transparent h3, .maincolour.transparent h4, .maincolour.transparent h5, .maincolour.transparent p {  text-shadow: 0px 0px 1px #000, 0px 0px 20px #000, 0px 0px 120px #000;}

.maincolour p > a:not(.button)  { color: #FFF; font-weight:bold; text-decoration: underline dotted 1px #ffffff!important;}
.maincolour p > a:not(.button):hover { color: #EEE; text-decoration:none!important; }


.maincolour .buttonpanel a, .maincolour .button, .maincolour button, .maincolour .buttonlink, .maincolour .arrowbutton, .maincolour input[type="submit"], .maincolour button[type="submit"] { color: #aeafd3; color:#000; background: #fff; font-weight:600; }
.maincolour .buttonpanel a:hover, .maincolour .button:hover, .maincolour button:hover, .maincolour .buttonlink:hover, .maincolour .arrowbutton:hover, .maincolour input[type="submit"]:hover, .maincolour button[type="submit"]:hover { color: #000; background: #d3d3e5; }

.lc-eco {color:#489507 ;}
.maincolour .lc-eco {color:#96c441}
.maincolour .buttonpanel a.lc-eco, .maincolour .button.lc-eco, .maincolour .buttonlink.lc-eco, .maincolour .arrowbutton.lc-eco, .maincolour input[type="submit"].lc-eco, .maincolour button[type="submit"].lc-eco { color: #000; background: #96c441; }
.maincolour .buttonpanel a.lc-eco:hover, .maincolour .button.lc-eco:hover, .maincolour .buttonlink.lc-eco:hover, .maincolour .arrowbutton.lc-eco:hover, .maincolour input[type="submit"].lc-eco:hover, .maincolour button[type="submit"].lc-eco:hover { color: #000; background: #d90909; }


.middark .buttonpanel a, .middark .button, .middark button, .middark .buttonlink, .middark .arrowbutton, .middark input[type="submit"], .middark button[type="submit"] { color:#000; background: #f3f3f8; font-weight:600; }
.middark .buttonpanel a:hover, .middark .button:hover, .middark button:hover, .middark .buttonlink:hover, .middark .arrowbutton:hover, .middark input[type="submit"]:hover, .middark button[type="submit"]:hover { color: #000; background: #FFF; }

.middark .buttonpanel a.outlinebtn, .middark button.outlinebtn, 
.middark .button.outlinebtn, .middark .buttonlink.outlinebtn { color: #d6d7e9; background: transparent; font-weight: 600; border: 2px solid #d6d7e9; }
.middark .buttonpanel a.outlinebtn:hover, .middark button.outlinebtn:hover, 
.middark .button.outlinebtn:hover, .middark .buttonlink.outlinebtn:hover { color: #FFF; background: transparent; border: 2px solid #FFF; }
	
	
.light p, .light li { color:#000;}

.mid p, .mid h1, .mid h2, .mid h3, .mid h4, .mid h5, .mid li { color:#FFF;}
.middark p, .middark h1, .middark h2, .middark h3, .middark h4, .middark h5, .middark li { color:#FFF;}
.dark p, .dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark li { color:#FFF;}
.dark.transparent { background-color:rgba(0, 30, 49, 0.3);}
.dark.transparent h1, .dark.transparent h2, .dark.transparent h3, .dark.transparent h4, .dark.transparent h5, .dark.transparent p {  text-shadow: 0px 0px 1px #000, 0px 0px 20px #000, 0px 0px 120px #000;}
.dark a, .middark a { color:#FBBA00;}
.dark a:hover, .middark a:hover { color:#ffd049;}
.mid a { color:#062641;}
.mid a:hover { color:#ffd049;}
.mid a.buttonlink { color:#fff; background:#062641;}
.mid a.buttonlink:hover { color:#fff; background:#ffd049;}
.mid a h2, .mid a h3, .mid a h4, .mid h2 a, .mid h3 a, .mid h4 a { color:#FFF;}
.mid a:hover h2, .mid a:hover h3, .mid a:hover h4, .mid h2 a:hover, .mid h3 a:hover, .mid h4 a:hover { color:#f3f3f3;}
a.accent:hover{ background-color:#fab918;}


h1, h2, h3, h4, h5, h6 { color: #555; margin: 2.4rem 0 1.4rem; line-height:1.2em; }
h3 { line-height:1.3em; }
h5, h6 { line-height:1.4em; }
h3, h4, h5, h6 { margin: 2rem 0 1.2rem;}
h1 + h2, h1 + h3, h2 + h3, h2 + h4, h3 + h4, h3 + h5, h4 + h5, h5 + h6 { margin-top:0;}
h2 { font-size: 2.2rem; font-weight: normal;}
h4 { font-size: 1.4rem; font-weight: normal;}

@media (max-width: 599px) { h2 { font-size:1.6rem;}  h3 { font-size:1.3rem;}}

body.single-post .entry-content h2.tr_page_subheading { text-align:center;}

.page-content, .entry-content, .entry-summary { margin-top: 0;}


p.lead,
.styleleadpara p:first-of-type,
body.single-post .entry-content p:first-of-type{ font-size:1.2em;}
@media screen and (max-width: 600px) { p.lead, body.single-post .entry-content p:first-of-type, .styleleadpara p:first-of-type { font-size: 1.1em; }}


/*
.linkpanel, .buttonpanel { text-align: center; margin: 1rem auto; }
.wp-block-button__link,
.button,
button:not(.navbar-toggler),
.buttonpanel a, .buttonlink, .blocklink, .arrowbutton, input[type="submit"], button[type="submit"], .pagination ul.page-numbers a.page-numbers:not(.next):not(.prev):not(.current) {
	color: black;
	background-color: #aeafd3; 
	display: inline-block;
	font-weight: normal;
	text-align: center;
	margin: auto;
	border: none;
	border-radius: 0;
	-webkit-transition: background-color 0.14s ease-in-out;
	transition: background-color 0.14s ease-in-out;
	padding:.6180469716em 1.41575em; 
	text-decoration: none;}
}
.buttonpanel a { margin: 10px 15px; padding:.6180469716em 1.41575em; text-transform:uppercase; font-weight:500; }
.buttonpanel.btns-titlecase a { text-transform:none;}

.wp-block-button__link:hover,
.buttonpanel a:hover, .button:hover, button:hover, .buttonlink:hover, .blocklink:hover, 
.arrowbutton:hover, input[type="submit"]:hover, 
.pagination ul.page-numbers a.page-numbers:hover:not(.next):not(.prev):not(.current),
div.wpforms-container-full .wpforms-form input[type=submit]:hover, div.wpforms-container-full .wpforms-form button[type=submit]:hover, div.wpforms-container-full .wpforms-form .wpforms-page-button:hover {
	background-color: #d3d3e5;
	color: #000;
	text-decoration:none;
}

.buttonpanel a.outlinebtn, 
.button.outlinebtn, button.outlinebtn, .buttonlink.outlinebtn { color:#666; background: none; border: 1px solid #aeafd3; }
.buttonpanel a.outlinebtn:hover, 
.button.outlinebtn:hover,  button.outlinebtn:hover, .buttonlink.outlinebtn:hover { color: #fff; background-color: #aeafd3; border: 1px solid #aeafd3; }


.buttonpanel a.plaintextbtn, 
.button.plaintextbtn, button.plaintextbtn, .buttonlink.plaintextbtn { color:#d90909; background: none; padding:0; }
.buttonpanel a.plaintextbtn:hover, 
.button.plaintextbtn:hover,  button.plaintextbtn:hover, .buttonlink.plaintextbtn:hover { color: #9c0000; background: none; }



.backoverlay .button, .backoverlay button, .backoverlay .buttonlink { color: #000; background: #aeafd3; border: 1px solid #FFF; text-shadow: 0 0 6px #9c0000, 0 0 16px #9c0000; }
.backoverlay .button:hover, .backoverlay  button:hover, .backoverlay .buttonlink:hover { color: #000; background: #aeafd3; border: 1px solid #9c0000; }

.blocklink.bigblock { font-size: 1.1em; margin: 2rem auto; padding:2rem 3rem; max-width: 500px; display:block;}
.blocklink.bigblock span { display:block; text-transform:uppercase; font-size: 1.2em; font-weight: 500; padding-top: 2px; }


a.button.button-pad{ padding: 1.4em 2.4em;}
a.button.button-md{ font-size:1.15rem; padding: 1em 2em;}
a.button.button-lg{ font-size:1.25rem; padding: 1em 2em;}
a.button.button-xl{ font-size:1.4rem; padding: 1em 2em;}
a.button.button-sm:not(.navbar-toggler) { font-size:1rem; padding: 8px 15px; text-transform:none;}

/* for link blocks that include text, images etc * /
a.contentblock { display:block; display: flex; flex-direction: column; align-items: center; justify-content: center; flex-wrap: nowrap;}
a.contentblock:hover p, a.contentblock:hover h1, a.contentblock:hover h2, a.contentblock:hover h3, a.contentblock:hover h4, a.contentblock:hover h5 { color:#ff6900}
a.contentblock:hover img { opacity:0.8;}
*/


.island { padding:1.6rem; margin:2rem auto; transition: all 0.2s ease; }
.islet { padding:1rem 1.6rem; }
@media (min-width: 768px) { .island { padding:2rem 3rem;} }

.island > h2:first-child, .islet > h2:first-child,
.island > h3:first-child, .islet > h3:first-child,
.island > h4:first-child, .islet > h4:first-child,
.island > h5:first-child, .islet > h5:first-child,
.island .wp-block-group__inner-container > *:first-child,
 .islet .wp-block-group__inner-container > *:first-child { margin-top:0; padding-top:0;}
.island > p:last-child, .islet > p:last-child,
.island .wp-block-group__inner-container > *:last-child, 
.islet .wp-block-group__inner-container > *:last-child { margin-bottom:0; padding-bottom:0;}

.island.withborder, .islet.withborder { border:1px solid #ccc;}
.trib-mx2em { margin-top: 2em; margin-bottom:2em;}
.trib-mt2em { margin-top: 2em;}
.trib-mb2em { margin-bottom:2em;}


.inline-img > img, img.inline-img {display: inline;}
.inline-img-vbottom > img, img.inline-img-vbottom {display: inline;vertical-align: bottom;}


.note {  padding:2rem 3rem; margin:2rem auto; background-color: #fff299; border:1px solid red; text-align:center; }
.hide { display:none;}


div.widescreen, div.desktop, div.tablet, div.midscreen, div.smallscreen, div.mobonly { display: none; }
@media only screen and (min-width: 1200px){ div.widescreen { display: block; } }
@media (min-width: 1024px) and (max-width: 1199px){ div.desktop { display: block; } }
@media (min-width: 768px) and (max-width: 1023px){ div.tablet { display: block; } }
@media (min-width: 640px) and (max-width: 767px){ div.midscreen { display: block; } }
@media (min-width: 421px) and (max-width: 639px) { div.smallscreen { display:block;}}
@media (max-width: 420px) {div.mobonly { display:block} }


.hangingindent25 { padding-left: 25px; text-indent: -25px; }



img.alignright { margin-left: 2em; margin-bottom: 0.5em; }
img.alignleft { margin-right: 2em; }
@media screen and (max-width: 639px){ 
	img.alignleft,
	img.alignright{ display:block; margin:auto!important; float:none;}
}



div.has_2col_list ul,
div.multiColumn2 {
	-moz-columns: 2 300px;
	-moz-column-gap: 2em;
	-webkit-columns: 2 300px;
	-webkit-column-gap: 2em;
	columns: 2 300px;
	column-gap: 2em;
	margin: 0 0 1.5em 0;
	-webkit-column-break-inside: avoid;
}

div.has_3col_list ul,
div.multiColumn {
	-moz-columns: 3 200px;
	-moz-column-gap: 2em;
	-webkit-columns: 3 200px;
	-webkit-column-gap: 2em;
	columns: 3 200px;
	column-gap: 2em;
	margin: 0 0 1.5em 0;
	-webkit-column-break-inside: avoid;
}

div.has_4col_list ul,
div.multiColumn4 {
	-moz-columns: 4 200px;
	-moz-column-gap: 2em;
	-webkit-columns: 4 200px;
	-webkit-column-gap: 2em;
	columns: 4 200px;
	column-gap: 2em;
	margin: 0 0 1.5em 0;
	-webkit-column-break-inside: avoid;
}

.descbulletcols { padding: 0 0 0 20px; margin: 0; }
.descbulletcols li { list-style: disc; padding: 0; margin: 0 0 10px 0px; color: #666; line-height: 1.2em; }

.trib-inline-list li { display:inline-block;}

/* .has_checklist is for outer div with mutliple elements */
.has_checklist li,
.checklist li, .columns3 li{ list-style:none; padding:5px 0; }
.checklist p { padding:8px 0; margin:0; line-height:1.3em; /*padding-left: 25px; text-indent: -25px;*/ text-indent: 1.3em; }

/*.has_checklist li, .checklist li, .checklist p  { padding-left: 1.3em; }*/
.has_checklist ul, ul.checklist, .checklist p { padding-left: 40px;}

.has_heading_outdent_list li strong:before,
.has_checklist li:before, .checklist li:before, .checklist p:before {
	display:inline-block;
	font-family: 'FontAwesome';
	content: '\f00c';
	font-size: 18px;
	line-height: 1em;
	width:24px;
	margin: 0 4px 0 -28px;
	color: #d90909;
}
.has_checklist.has_heading_outdent_list li:before { display:none;}

.island.maincolour .has_checklist li:before,
.island.maincolour .checklist li:before, .island.maincolour .checklist p:before { color: #ffaa49 }

/* .island ul.checklist { margin-left:40px;} */ 
.checklist p:before { margin:0 10px 0 0px; }
.dark .has_checklist li:before, .middark .has_checklist li:before,
.dark .has_checklist li:before, .middark .has_checklist li:before,
.dark .checklist p:before, .middark .checklist p:before { color: #FFF; }
.checklist.greencheck li:before, .checklist.greencheck p:before { color: #00aa00; font-size:1.1em; }

.iframeflexwrapper iframe, .iframeflexwrapper video { max-width: 100%; height: auto; } 

.iframeflexwrapper {
  position: relative;
 height: 300px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  border: none;
}
@media screen and (min-width: 48em){.iframeflexwrapper {  padding-bottom: 50%; height: 0; } }
  
.iframeflexwrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin:0;
  border:none;
}

.iframeflexwrapper.video-container {
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin: 0 auto 30px;
}


.fullwidthcontainer { width:100%; padding:4em 0; margin-bottom: 4em;}
.fullwidthcontainer > *:first-child, .fullwidthcontainer > div > *:first-child { margin-top:0;}
.fullwidthcontainer > *:last-child, .fullwidthcontainer > div > *:last-child { margin-bottom:0;}


.has-drop-cap:first-letter {
	float: left;
	font-size: 8.4em;
	font-size: 5.1em;
	line-height: .68;
	font-weight: 100;
	margin: 0.05em 0.1em 0 0;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 800;
}


.dividerblock,
.topdivider:before,
.bottomdivider:after {
	display:block;
	content:"";
	height: 1px;
	margin: 0px auto;
	width: 60%;
	text-align: center;
	background: linear-gradient(90deg, rgb(200 200 200  / 0%), rgb(200 200 200 / 100%), rgb(200 200 200  / 0%));
}


/********************* WEB ICONS ****************************/

li .webicon,
p .webicon{display:inline-block;padding:5px 0 5px 30px;position:relative}
a.webicon, p.webicon{padding:2px 0 2px 30px;position:relative;}

.webicon:before,
.webicon.webiconafter:after {
  position: absolute;
  font-family: FontAwesome;
  font-size: 1.2em;
  color:#d90909;
  color: #888;
  top: 5px;
  right: 0px;
 	/** For FontAwesome 5 * /
	font-style: normal;
	font-weight: normal;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	*/
}
a .webicon:hover:before{color:#9c0000;}


p.webicon:before,
li.webicon:before,
span.webicon:before {  top: 2px; left: 0; right: auto;}
p.webicon label, .contact_details p.webicon label{ display:none;}

.webicon.phone:before,
.webicon.phonenum:before{content:"\f095";left:2px}
.webicon.mobile:before,
.webicon.mobilenum:before{content:"\f10b";left:2px;top:2px}
.webicon.email:before,
.webicon.emailaddr:before{content:"\f0e0"}
.webicon.gotomap:before,
.webicon.mappointer:before{content:"\f041";left:3px}
.webicon.directions:before{content:"\f277";}
.webicon.location:before{content:"\f041";left:3px}
.webicon.opentimes:before{content:"\f017";font-size:1.3em}
.webicon.globe:before{content:"\f0ac"}
.webicon.team:before{content:"\f007"}
.webicon.office:before{content:"\f1ad"}
.webicon.properties:before{content:"\f015"}
.webicon.speech:before,
.webicon.speechbubble:before,
.webicon.comment1:before{content:"\f0e5"}
.webicon.comment:before{content:"\f075"}
.webicon.comments:before{content:"\f086"}
.webicon.comments2:before{content:"\f0e6"}
.webicon.thumbsup:before{content:"\f164"}
.webicon.thumbsup2:before{content:"\f087"}
.webicon.star:before{content:"\f005"}
.webicon.starempty:before{content:"\f006"}
.webicon.starhalf:before{content:"\ f123"}
.webicon.filepdf:before{content:"\f1c1"}
.webicon.home:before{content:"\f015"}
.webicon.reply:before{content:"\f112"}
.webicon.sitemap:before{content:"\f0e8"}
.webicon.close:before{content:"\f00d"}
.webicon.sitemap:before{content:"\f0e8"}
.webicon.language:before{content:"\f1ab"}
.webicon.subway:before{content:"\f239"}
.webicon.train:before{content:"\f238"}
.webicon.bus:before{content:"\f207"}
.webicon.plane:before{content:"\f072"}
.webicon.car:before{content:"\f1b9"}
.webicon.write:before{content:"\f040"}


.webicon.facebook:before{content:"\f09a"}
.webicon.facebooksq:before{content:"\f230"}
.webicon.twitter:before{content:"\f099"}
.webicon.twittersq:before{content:"\f081"}
.webicon.instagram:before{content:"\f16d"}
.webicon.instagramsq:before{content:"\f16d"}
.webicon.linkedin:before{content:"\f0e1"}
.webicon.linkedinsq:before{content:"\f08c"}
.webicon.googleplus:before{content:"\f0d5"}
.webicon.youtube:before{content:"\f167"}

.socialmediaicons{list-style:none;margin:0px;padding:0px;}
.socialmediaicons li{list-style-image:none;list-style-type:none;padding:0px;margin:0 8px 10px 0;display:inline-block;vertical-align:top}
.socialmediaicons li:last-child{margin-right:0}
.socialmediaicons a{position:relative;padding-left:0; display:block;height:40px;width:40px; }
.socialmediaicons a:after{position:absolute;font-family:FontAwesome;font-size:1.8em;color:#888;top:0;right:0;bottom:0;left:0; height:40px;width:40px;
	vertical-align:middle;display:inline-block;box-sizing:border-box; margin:0; padding:0;}
.widget ul li.socialmediaicons a { padding:0};

.socialmediaicons a:hover:after {color:#d90909;}

.socialmediaicons.iconcircles a{background:#ADADAD}
.socialmediaicons.iconcircles a:after{height:padding-top:0px;font-size:2em;color:#fff;text-align:center;}
.socialmediaicons.iconcircles a:hover{background-color:#CCC}


.socialmediaicons.fav4 a.facebook:after{content:"\f09a"}
.socialmediaicons.fav4 a.twitter:after{content:"\f099"}
.socialmediaicons.fav4 a.linkedin:after{content:"\f0e1";padding-top:7px}
.socialmediaicons.fav4 a.googleplus:after{content:"\f0d5"}
.socialmediaicons.fav4 a.youtube:after{content:"\f167";padding-top:6px}
.socialmediaicons.fav4 a.instagram:after { content: "\f16d"; }

.socialmediaicons a.facebook:after{content:"\f082"}
.socialmediaicons a.twitter:after{content:"\f081"}
.socialmediaicons a.linkedin:after{content:"\f0e1";padding-top:7px}
.socialmediaicons a.googleplus:after{content:"\f0d5"}
.socialmediaicons a.youtube:after{content:"\f167";padding-top:6px}
.socialmediaicons a.instagram:after { content: "\e055"; } /*doesnot work*/

.socialmediaicons a.inclicon { display:inline-block;}
.socialmediaicons a.inclicon .fab {font-size:1.8em;color:#888;height:40px;width:40px;vertical-align:top;display:inline-block;box-sizing:border-box; margin:0; padding:0;}
.socialmediaicons a.inclicon:hover .fab {color:#d90909;}
.socialmediaicons.iconcircles a { border-radius: 50%; background: #6286ac; } 
.socialmediaicons.iconcircles a, .socialmediaicons.iconcircles a:after { height: 50px; width: 50px; }

.webicon.quote-left:before {  content: "\f10d"; color: #ccc;left:0; right: auto;}
.webicon.quote-right:before {  content: "\f10e"; color: #ccc; }
.webicon.webiconafter.quote-right-after:after { content: "\f10e";  top: auto; bottom: 1.5em;  color: #ccc;}




/**************************************************************************************************/

.trib-fullheight { display: flex; align-items: stretch; width: auto; }

.trib-grid {
  display: grid;
  grid-template-columns: repeat( auto-fit, minmax(300px, 1fr) );
   grid-template-columns: repeat( 3, 1fr); 
  grid-gap: 2rem;
}

.trib-gridsize-4 {grid-template-columns: repeat( auto-fit, minmax(200px, 1fr) ); }
.trib-gridsize-3 { }
.trib-gridsize-2 {grid-template-columns: repeat( auto-fit, minmax(700px, 1fr) ); }


.trib-gridsize-4 {grid-template-columns: repeat( 4, 1fr); }
.trib-gridsize-3 { grid-template-columns: repeat( 3, 1fr); }
.trib-gridsize-2 {grid-template-columns: repeat( 2, 1fr); }

@media screen and (max-width: 1000px){  
.trib-gridsize-4 {grid-template-columns: repeat( 3, 1fr); }
}

@media screen and (max-width: 850px){  
.trib-gridsize-3 {grid-template-columns: repeat( 2, 1fr); }
}

@media screen and (max-width: 767px){  
.trib-grid {grid-template-columns: repeat( 2, 1fr); }
.trib-gridsize-4 {grid-template-columns: repeat( 3, 1fr); }
.trib-gridsize-3 { grid-template-columns: repeat( 2, 1fr); }
.trib-gridsize-2 {grid-template-columns: repeat( 2, 1fr); }
}
@media screen and (max-width: 700px){  
.trib-gridsize-2 {grid-template-columns: repeat( 1, 1fr); }
.trib-gridsize-4 {grid-template-columns: repeat( 2, 1fr); }
}
@media screen and (max-width: 500px){  
.trib-grid {grid-template-columns: 1fr; }
.trib-gridsize-3 { grid-template-columns: 1fr; }
}
@media screen and (max-width: 320px){  
.trib-gridsize-4 {grid-template-columns: repeat( 1, 1fr); }
}
/* container for cell content */
.trib-grid > div,
.trib-grid > .trib-grid-cell { 
	display: flex; align-items: stretch; justify-content: center; text-align: center;
	width:100%;
	background-repeat: no-repeat; background-size: cover; background-position: center center; transition: 0.3s all ease; 
	border: 1px solid;
}
.trib-square { 	display: flex; aspect-ratio: 1 / 1; /* a square ratio */ }

/* cell content */
.trib-grid > div > div,
.trib-grid > .trib-grid-cell > div,
.trib-cell-content { display: flex; width:100%; padding: 5%; }

.trib-center-content {display: flex; align-items: center; justify-content: center; text-align: center;}

.trib-content-overlay > div,
.trib-overlay {	background: rgba(0, 0, 0, 0.35); width:100%; }
.trib-content-overlay:hover > div,
.trib-overlay:hover { background: rgba(0, 0, 0, 0.5);}

.trib-content-overlay .trib-content-overlay p, .trib-content-overlay h1, .trib-content-overlay h2, .trib-content-overlay h3, .trib-content-overlay h5, .trib-content-overlay h5 {	color:#FFF; }
.trib-overlay .trib-overlay p, .trib-overlay h1, .trib-overlay h2, .trib-overlay h3, .trib-overlay h5, .trib-overlay h5 {	color:#FFF; }

.trib-content-overlay-light > div,
.trib-overlay.overlay-light { background: rgba(0, 0, 0, 0.15); width:100%; color:#000; }
.trib-content-overlay-light:hover > div,
.trib-overlay.overlay-light:hover { background: rgba(0, 0, 0, 0.25); }





.trib-fixed-width  {flex-grow: 0; flex-shrink: 0; flex-basis: 100px;} /* override flex-basis to change size */
.trib-fixed-width-100 {flex: 0 0 100px;} 
.trib-fixed-width-150 {flex: 0 0 150px;} 
.trib-fixed-width-200 {flex: 0 0 200px;} 
.trib-fixed-width-300 {flex: 0 0 300px;} 



.h-100.d-flex.justify-content-center.flex-column > *:first-child { margin-top:0; padding-top:0;}
.h-100.d-flex.justify-content-center.flex-column > *:last-child  { margin-bottom:0; padding-bottom:0;}



.callout-block,
.callout-block-small,
.callout-block-left,
.callout-block-right {
	margin: 1rem 2rem; 
	font-weight: 600; font-size: 1.1rem;  color: #888888;  font-style:italic; line-height:1.4em; 
	border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 1em 0;
}

.callout-block-small { margin: 1.5rem 8%; text-align:center; /*font-style:normal;*/  }
.callout-block { margin-left: 15%; margin-right:15%; margin: 1.5rem 0; }

.callout-block p, .callout-block-small p, .callout-block-left p, .callout-block-right p{ margin:0; padding:0; }


@media screen and (min-width: 48em){
	.callout-block-left, .callout-block-right {margin: 1.5rem 0; margin: 2rem 0; font-size: 1.2rem; padding:0; border:none; }
	.callout-block { text-align:center;margin: 2.5rem 0;}
	.callout-block-left { float: left; margin-right: 2rem; max-width: 33%;}
	.callout-block-right { float: right; margin-left: 2rem; max-width: 33%;}
	.callout-block-small {font-size: 1.2rem; margin-top:2rem; margin-bottom:2rem; margin:1.5rem 15%; }
}
@media screen and (min-width: 960px){ .callout-block, .callout-block-left, .callout-block-right {font-size: 1.4rem;} }
.callout-block-fullwidth { margin-left: 0; margin-right:0; }

.callout-block-small.maincolour {background:none; color:#d90909;}



blockquote {line-height: 1.5; margin: 0; clear:both;position: relative; padding: 2rem 40px; 	}	
blockquote, blockquote.blockquote {font-size: 1.1rem; margin-bottom: 0; }
footer.blockquote-footer { font-size:1em; text-align:right;}
blockquote:before,
blockquote:after {font-size: 24px; font-weight: normal; color: #ccc; position: absolute; font-family: FontAwesome; content: "\f067"; display: block; height: 30px; width: 30px; }
blockquote:before { left: 0px; top:1.5rem; content: "\f10d";}
blockquote:after { right: 0px; bottom:2rem; content: "\f10e"; text-align:right;}

blockquote.calloutborder{ padding: 2rem 40px; margin: 2rem 0; border: 1px solid #ccc; border-left: none; border-right: none; }
blockquote.calloutborder p:last-child{ margin-bottom:0;} 
@media screen and (max-width: 640px){ 
	blockquote, blockquote.blockquote { font-size: 1rem; }
	blockquote { padding: 1.5rem 24px 1rem; line-height:1.35em;}
	footer.blockquote-footer { font-size:0.9em;}
	blockquote:before, blockquote:after {font-size: 20px; height: 30px; width: 30px;}
	blockquote:before {top:1rem;}
	blockquote:after {bottom:1rem;}
	blockquote.calloutborder{ font-size: 1rem; padding: 1.5rem 30px;}
}
@media screen and (max-width: 420px){ 
	blockquote:before, blockquote:after {font-size: 16px; height: 20px; width: 20px;}
	blockquote.calloutborder{ font-size: 0.95rem; padding: 1.5rem 22px 0 22px;}
	blockquote:after {bottom:1rem;}
}	

blockquote.callout{ position: relative;	padding: 1rem 35px 2rem 45px; margin: -1rem 40px 2rem; border:0px solid #ccc; border-left: none; border-right: none; }
blockquote.callout p:last-child{ margin-bottom:0;} 
blockquote.callout:before,
blockquote.callout:after {font-size: 30px; font-weight: normal; color: #ccc; position: absolute; font-family: FontAwesome; content: "\f067"; display: block; height: 40px; width: 40px; }
blockquote.callout:before { left: 0px; top:0; content: "\f10d";}
blockquote.callout:after { right: 0px; bottom:2rem; content: "\f10e";}
@media screen and (max-width: 640px){ 
	blockquote.callout{ font-size: 1rem; padding: 1.5rem 30px;}
	blockquote.callout:before, blockquote.callout:after {font-size: 20px; height: 30px; width: 30px;}
	blockquote.callout:before {top:0.5rem;}
	blockquote.callout:after {bottom:1rem;}
}
@media screen and (max-width: 420px){ 
	blockquote.callout{ font-size: 0.95rem; padding: 1.5rem 18px 1.5rem 22px;}
	blockquote.callout:before, blockquote.callout:after {font-size: 16px; height: 25px; width: 25px;}
}	


.testimonial { margin-bottom: 4em;}
.island.testimonial { margin-top: 0;}
.testimonialquote { padding: 0; position:relative; }
.testimonialquote .fa-quote-right, .testimonialquote .fa-quote-left { display:block; color:#d3d3d3; position:absolute; font-size:1.6em; z-index:1; } 
.testimonialquote .fa-quote-left {left: 0px; top: 0px; } 
.testimonialquote .fa-quote-right { right: 0px; bottom:-10px; }
.testimonialquote p { position:relative; z-index:3;}
.testimonial h4 { font-size: 1.2em; margin-bottom:1rem; text-align:left; margin-top:0;}
p.testimonialfrom { text-indent: -15px; padding-top:10px;} 
p.testimonialfrom .personname{ font-weight:500;} 

.testimonial .logocontainer{ text-align:center; height:100px; display:flex; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px;}
.testimoniallogo { height:100px; display:block;}
img.testimoniallogo { width: auto; height: auto; max-width: 100%; max-height: 100%; margin: 0 auto;}

@media screen and (max-width: 399px){ 
	.testimonialquote p:first-of-type { text-indent: 30px;}
}
@media screen and (min-width: 400px){ 
.testimonialquote { padding: 5px 35px 0px; position:relative; }
.testimonialfrom { padding-left: 50px;} 
.testimonialquote .fa-quote-right { bottom:0; }
.island .testimonialquote .fa-quote-left {left: -15px; } 
.island .testimonialquote .fa-quote-right { right: -10px;  }
}
.testimonialquote .fa-quote-right{ z-index:4;  }



.testimonialfooter { display:flex; align-items: center; justify-content: space-between; margin: 2rem 0 0; margin-left: 35px; margin-right: 25px;}
.testimonialfooter a.testimoniallogo, .testimonialfooter .logocontainer { height:auto; max-width: 50%; 	padding-left: 10px; margin: auto; margin-right:0;}
.testimonialfooter img.testimoniallogo { margin-right:0;width:100%; max-height: 75px; max-width:220px; height:auto; }
.testimonialfooter p.testimonialfrom { margin-bottom: 0; padding-top: 0; line-height: 1.4em; }
@media screen and (min-width: 400px) {.testimonialfooter .testimonialfrom { padding-left: 0; }}



a.tr-gridblock {
	color: #FFF;
	display: block;
	padding: 0;
	margin: 0 0 1em 0;
	width: 100%;
	max-width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	transition: 0.3s all ease;
}

.tr-gridblock .tr-gridblock-content {
	text-align: center;
	margin: 0; 	padding: 10px 5%;
	width: 100%;
	max-width: 100%;
	background: rgba(0, 0, 0, 0.25);
	display: flex; align-content: center; align-items: center; justify-content: center; flex-direction: column;
	transition: 0.3s all ease;
	height: 300px;
}
@media (max-width: 575.999px) { .tr-gridblock .tr-gridblock-content {height: auto; min-height: 200px; }}

.tr-gridblock p, 
.tr-gridblock h2,
.tr-gridblock h3 { color: #FFF; text-shadow: 0 0 1px #666, 0 0 10px #000, 0 0 50px #000; }
.tr-gridblock h2, .tr-gridblock h3 { font-weight:600; }
.tr-gridblock-content :last-child { margin-bottom: 0; }

.tr-gridblock h2 { font-size: 2.2rem; }
.tr-gridblock h3 { font-size: 1.3rem; }
.tr-gridblock .overlaytxtblock, .tr-gridblock h2, .tr-gridblock h3 { text-transform: uppercase; margin-top: 0; font-weight:600; 
width:100%; padding: 1rem 1.5rem;
background: rgba(0, 0, 0, 0.4);
}

a .tr-gridblock:hover .overlaytxtblock, a.tr-gridblock:hover .overlaytxtblock,
a .tr-gridblock:hover h1, a .tr-gridblock:hover h2, a .tr-gridblock:hover h3, a .tr-gridblock:hover h4, a .tr-gridblock:hover h5,
a.tr-gridblock:hover h1, a.tr-gridblock:hover h2, a.tr-gridblock:hover h3, a.tr-gridblock:hover h4, a.tr-gridblock:hover h5 { color:#FFF; background: rgba(0, 0, 0, 0.6);}

.tr-gridblock-content .homeblockdesc p { font-size:1em; line-height:1.3em; display:none;}

.tr-gridblock i.fa.oncircle {
	background: #FFF; color: #333; text-shadow: none;
	display: inline-block;
	font-size: 24px; line-height: 24px; font-weight:normal;
	text-align: center;
	margin: 0 0 0 4px; padding: 0 0 0 2px;
	height: 26px; width: 26px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
}

.tr-gridblock:hover  { text-decoration:none;}
.tr-gridblock:hover .tr-gridblock-content { color: #EEE; background: rgba(0, 0, 0, 0.1); text-decoration:none;}


.tr-gridblock.overlay-light .tr-gridblock-content { background: rgba(0, 0, 0, 0.15); }
.tr-gridblock.overlay-light:hover .tr-gridblock-content { background: rgba(0, 0, 0, 0.25); background: rgba(0, 0, 0, 0); }


.cta_blocks .tr-gridblock .tr-gridblock-content {	background: none; padding:0; justify-content: flex-end; }
.cta_blocks .tr-gridblock:hover .tr-gridblock-content { background: rgba(0, 0, 0, 0.15);}

.grid-outer-block a.tr-gridblock{ border: 10px solid #fff; box-shadow: 0 0 0 1px #ddd; }	


a.tr-gridblock { background-color: #000; max-width: 350px; margin-left: auto; margin-right: auto; position:relative; }
a .tr-gridblock img, a.tr-gridblock img { transition: 0.3s opacity ease; }
a .tr-gridblock:hover img, a.tr-gridblock:hover img { opacity: 0.85; }

.tr-gridblock { background-color: #000; max-width: 350px; margin-left: auto; margin-right: auto; position:relative; }


.imgtxtoverlay { position: absolute; bottom: 0; top: auto; width: 100%; }
.tr-gridblock .imgtxtoverlay h3 {	margin: 0; text-align: center; font-size: 1.1rem; }

a .tr-gridblock:hover img, a.tr-gridblock:hover img { opacity: 0.85; }


/* tr-gridblock-content is a block that determines the size of the gridblock, but if we want a specific aspect ratio
we need to use absolute positioning */
.trib-3x2blocks a.tr-gridblock { position:relative; height:0; padding:0; padding-bottom: 67%; max-width:none; }
.trib-squareblocks a.tr-gridblock { position:relative; height:0; padding:0; padding-bottom: 100%; max-width:none; }
.trib-squareblocks .tr-gridblock .tr-gridblock-content,
.trib-3x2blocks .tr-gridblock .tr-gridblock-content { position: absolute; height:auto; top: 0; left: 0; right: 0; bottom: 0;}
@media screen and (min-width: 768px){ 
.trib-squareblocks-tabdesk a.tr-gridblock { position:relative; height:0; padding-bottom: 100%; }
.trib-squareblocks-tabdesk .tr-gridblock .tr-gridblock-content { position: absolute; height:auto; top: 0; left: 0; right: 0; bottom: 0;}
}

.tr-gridblocksize a.tr-gridblock,
.tr-gridblocksize.tr_square a.tr-gridblock { position:relative; height:0; padding:0; padding-bottom: 100%; max-width:none; }
.tr-gridblocksize.tr_3x2 a.tr-gridblock { padding-bottom: 66%; }
.tr-gridblocksize.tr_4x3 a.tr-gridblock { padding-bottom: 75%; }
.tr-gridblocksize.tr_2x1 a.tr-gridblock { padding-bottom: 50%; }
.tr-gridblocksize .tr-gridblock .tr-gridblock-content { position: absolute; height:auto; top: 0; left: 0; right: 0; bottom: 0;}

.tr_colmaxsize200 .tr-gridblock { max-width:200px; width:auto; }
.tr_colmaxsize350 .tr-gridblock { max-width:250px; width:auto; }
.tr_colmaxsize300 .tr-gridblock { max-width:300px; width:auto; }
.tr_colmaxsize350 .tr-gridblock { max-width:300px; width:auto; }
.tr_colmaxsize400 .tr-gridblock { max-width:400px; width:auto; }

.tr-gridblock .tr-gridblock-text h1, .tr-gridblock .tr-gridblock-text:hover h1,
.tr-gridblock .tr-gridblock-text h2, .tr-gridblock .tr-gridblock-text:hover h2,
.tr-gridblock .tr-gridblock-text h3, .tr-gridblock .tr-gridblock-text:hover h3,
.tr-gridblock .tr-gridblock-text h4, .tr-gridblock .tr-gridblock-text:hover h4 { background:none!important; margin:0; padding:0;}

.tr-gridblock.textgrowonhover, .tr-gridblock.textgrowonhover .tr-gridblock-content { overflow: hidden; }
.tr-gridblock.textgrowonhover h3 { font-size: 1.2rem; }





/* animate grow using height property - needs fixed height for animate to work */
.tr-gridblock.textgrowonhover .tr-gridblock-content {display: flex; align-items: flex-end; background: none; padding: 0; width: 100%; transition: all 0.3s ease-out;}
.tr-gridblock.textgrowonhover .tr-gridblock-content .container-for-grow{ }
.tr-gridblock.textgrowonhover .tr-gridblock-text { background: rgba(0, 0, 0, 0.35); padding: 10px 20px; position: relative; transition: all 0.3s ease-out;
 	position: absolute; bottom: 0; left: 0; right: 0; height: 80px; 
	display: flex; flex-direction: column; justify-content: center; padding: 0px 20px;
}

.tr-gridblock.textgrowonhover:hover .tr-gridblock-text {height: 100%; background: rgba(0, 0, 0, 0.65);}
.tr-gridblock.textgrowonhover.growtotop:hover .tr-gridblock-text {height: 100%; justify-content: flex-start; padding-top: 30px;background: rgba(0, 0, 0, 0.65);}

@media (min-width: 960px) and (max-width: 1199px){ .tr-gridblock.textgrowonhover .tr-gridblock-text { padding: 0px 15px; }}

.tr-gridblock .tr-gridblock-content .content-showonhover { display: none;  padding-top:10px; }
.tr-gridblock:hover .tr-gridblock-content .content-showonhover { display: block; }
.fixedbottombutton {position:absolute;bottom:0;left: 0; right: 0; } .fixedbottombutton button { width:100%;}









/* animate grow using height property - needs fixed height for animate to work */
.tr-gridblock.texthideonhover .tr-gridblock-content {display: flex; align-items: flex-end; background: none; padding: 0; width: 100%; transition: all 0.3s ease-out;}
.tr-gridblock.texthideonhover .tr-gridblock-content .container-for-grow{ }
.tr-gridblock.texthideonhover .tr-gridblock-text { background: rgba(0, 0, 0, 0.35); padding: 10px 20px; position: relative; transition: all 0.3s ease-out;
 height: auto;
 	position: absolute; bottom: 0; left: 0; right: 0; height: 100%; 
	display: flex; flex-direction: column; justify-content: center; padding: 0px 20px;
}

.tr-gridblock.texthideonhover:hover .tr-gridblock-text {height: 80px; background: rgba(0, 0, 0, 0.65);bottom: 0;}

.tr-gridblock.texthideonhover .tr-gridblock-content .content-showonhover { display: block;}
.tr-gridblock.texthideonhover:hover .tr-gridblock-content .content-showonhover { display: none;  padding-top:10px; }

.tr-gridblock.texthideonhover.growfromtop .tr-gridblock-text {bottom: auto;	top: 0;}









#page-banner:not(.heroimage) {	
	background: none;
	background: #FFF; border-top: 1px solid #ccc;
	position: relative;
	padding-top: 5rem; padding-bottom: 0;
	text-align: center; font-size: 1.25rem;
}

#page-banner:not(.heroimage) h1 { 	font-size: 2.75rem; line-height: 1.1em; padding: 0 5% 10px; text-align:center; margin: 0 0 1rem;}

@media screen and (min-width: 768px){ #page-banner:not(.heroimage) h1 { font-size: 3.750rem; } }

.heroimage {
	margin: 0;
	width: 100%;
	max-width: 100%;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
	background-position: center center;
/*	background-image: url(/wp-content/uploads/DSC4236.jpg);*/
	box-shadow: inset 0px 20px 20px -20px rgb(0 0 0 / 50%);
	padding:0;
	/* background-attachment: fixed;*/ 
}
.heroimage.fixed {background-attachment: fixed; }

.heroimage .overlaycontainer {background: rgba(0, 0, 0, 0.5);
 display: flex; justify-content: center; align-items: center;   min-height: 300px;}

.home .heroimage .overlaycontainer, 
.heroimage.fillvertical .overlaycontainer { min-height: 75vh;}

.heroimage .container { padding-top: 4rem; padding-bottom: 2rem; }
.heroimage h1 {
	font-weight: 700;
	font-size: 4em;
	font-size: 3.4em;
	line-height: 1.1em;
	text-transform: none;
	padding: 0 5% 10px;
	margin: 0;
	text-shadow: 0 0 3px #000, 0 0 30px #000;
	text-shadow: 0 0 3px rgb(0 0 0 / 75%), 0 0 10px rgb(0 0 0 / 50%), 0 0 30px #000;
}
.heroimage h2,
.heroimage h3 {
	font-size: 1.6em;
	padding: 0 5% 10px;
	margin: 0 0 1rem;
	text-shadow: 0 0 1px #666, 0 0 20px #000;
	text-shadow: 0 0 3px rgb(0 0 0 / 75%), 0 0 10px rgb(0 0 0 / 50%), 0 0 20px #000;
}
.heroimage, .heroimage h1, .heroimage h2, .heroimage h3 .heroimage p { color:#FFF; }

.heroimage a.button {
	font-size: 1.2em;
	text-transform:uppercase;
	padding: 12px 16px;
	text-align:center; min-width:180px;
	margin: 0 1rem 1rem ;
	background: #aeafd3;
	color: black;
	transition: 0.3s all ease;
}
.heroimage a.button:hover {/*color: #de7a06;*/background: #fff; box-shadow:3px 3px 8px rgb(0 0 0 / 50%);}

.heroimage a.button.outlinebtn { color: #fff;	background:none;  border: 2px solid #aeafd3; }
.heroimage a.button.outlinebtn:hover { color: #fff;border-color: #fff; box-shadow:none;}



.heroimage p.scrollermsg { margin: 1rem 0 0 0; color:#FFF; font-size: 1.4em;
	text-shadow: 0 0 3px rgb(0 0 0 / 75%), 0 0 10px rgb(0 0 0 / 50%), 0 0 20px #000;
}
.heroimage a.page-scroller { color: #FFF; font-size: 1em; line-height:1em; margin:0; padding:0;display:block;  }
.heroimage a.page-scroller i { font-size: 4rem; line-height:1em; margin:0; padding:0; }

@media screen and (max-width: 960px){ body:not(.home) .heroimage h1{font-size: 3rem;}}
@media screen and (max-width: 767px){ /* body:not(.home) .heroimage h1{font-size: 10vw;}*/  .heroimage h2,.heroimage h3 {font-size:1.4rem;}}
@media screen and (max-width: 600px){  body.home .heroimage h1{font-size: 10vw;} 
.heroimage a.button {font-size: 1.15em;}
/*body:not(.home) .heroimage h1 {font-size: 12vw;} .heroimage h2{font-size: 5vw;}*/
}


.heroimage .overlaycontainer.whiteoverlay {background: rgba(255, 255, 255, 0.35);}
.heroimage .whiteoverlay h1 {
	color: #333;
	text-shadow: 0 0 3px rgb(255 255 255 / 75%), 0 0 10px rgb(255 255 255 / 50%), 0 0 30px #fff;
}
.heroimage .whiteoverlay,
.heroimage .whiteoverlay p,
.heroimage .whiteoverlay h2,
.heroimage .whiteoverlay h3 {
	color: #333;
	text-shadow: 0 0 3px rgb(255 255 255 / 75%), 0 0 10px rgb(255 255 255 / 50%), 0 0 20px #fff;
}
.heroimage .whiteoverlay a.button {
	color: #1e345d;
	background: white;
	background: #1e345d;
	color: white;

}
.heroimage .whiteoverlay a.button:hover {color: white; background: #1e345d; box-shadow:3px 3px 8px rgb(255 255 255 / 50%);}
.heroimage .whiteoverlay p.scrollermsg { color:#333; text-shadow: 0 0 3px rgb(255 255 255 / 75%), 0 0 10px rgb(255 255 255 / 50%), 0 0 20px #fff;
}



/* to fix issue with fixed background image on mobile */
@media screen and (max-device-width: 1024px){ .heroimage.fixed {background-attachment: scroll;}}














.trib-image-background { background-repeat: no-repeat; background-size: cover; background-position: center center; transition: 0.3s all ease; }
.trib_media-text-blocks {}
.trib_media-text-blocks .trib-img-block { min-height:400px; background-repeat: no-repeat; background-size: cover; background-position: center; transition: 0.3s all ease; 
}
.trib_media-text-blocks.trib-img-fit .trib-img-block {background-size: contain; }
.trib_media-text-blocks.trib-img-fill .trib-img-block {background-size: cover; }

@media screen and (max-width: 576px){  
	.trib_media-text-blocks .trib-img-block { min-height:300px; height:300px!important; margin-bottom:2rem; } 
	.container .trib_fullwidthimg-sm.trib_media-text-blocks .trib-img-block { margin-left: -15px; margin-right: -15px;} 
}


.trib_media-text-blocks .row{ margin-bottom:3rem; margin-top:3rem; }
.trib_media-text-blocks .row:first-of-type{ margin-top:3rem; }
.trib_media-text-blocks .row > div h2:first-child{ margin-top:0rem; text-align:center; } 
@media screen and (min-width: 576px){ .trib_media-text-blocks .row > div h2:first-child{ margin-top:0;  text-align:left; } }
/*
.trib_media-text-blocks .row:nth-of-type(even){ flex-direction: row-reverse; }
*/
.trib_media-text-blocks.trib_alternate_imgs .row:nth-of-type(even){ flex-direction: row-reverse; }
/* make rows touch - also need to use pr-md-0 pl-md-0 on cols if alternat images
.trib_media-text-blocks.trib_checkerboard .row { margin-top:0; margin-bottom:0}*/


.trib_media-text-blocks.trib_checkerboard_grid .row:nth-of-type(even){ flex-direction: row-reverse; }
.trib_media-text-blocks.trib_checkerboard_grid .row.trib_media-text-blocks { margin-top:0; margin-bottom:0}
@media (min-width: 768px){
	.trib_media-text-blocks.trib_checkerboard_grid .row .col { padding-right: 0; padding-left: 0; }
	.trib_media-text-blocks.trib_checkerboard_grid .row.trib_media-text-blocks .col-md-6 { padding-right: 0; padding-left: 0; }
}



.trib-square { 	display: flex; aspect-ratio: 1 / 1; /* a square ratio */ }
.trib-34block { 	display: flex; aspect-ratio: 1 / 0.75; /* height is 3/4 of the width */ }

.trib-fixed-width  {flex-grow: 0; flex-shrink: 0; flex-basis: 100px;} /* override flex-basis to change size */
.trib-fixed-width-100 {flex: 0 0 100px;} 
.trib-fixed-width-128 {flex: 0 0 128px;} 
.trib-fixed-width-150 {flex: 0 0 150px;} 
.trib-fixed-width-200 {flex: 0 0 200px;} 
.trib-fixed-width-300 {flex: 0 0 300px;} 



.trib-icon_rows { }
.trib-icon_rows h2, .trib-icon_rows h3, .trib-icon_rows h4 { margin-top:0;}

.trib-icon_rows .row h3 { text-align:left; text-align: left;	font-size: 1.1em; }
.trib-icon_rows.tr-extra-space-between-rows .row h3 {  margin-bottom:2rem; }
.trib-icon_rows.tr-extra-space-between-rows .row { margin-bottom:1.5rem;}

.tr-max-width-900 { max-width:900px; margin:auto;}
.tr-max-width-800 { max-width:800px; margin:auto;}
tr-maxwidth50 { max-width:50%}

@media screen and (max-width: 600px) { 
	.alignleft.tr-centeronmobile, .alignright.tr-centeronmobile { display:block; float:none; margin: 0 auto 1em; }
}


.tr-icon-heading { display:flex; align-items: center; 	justify-content: flex-start; text-align:left;}
.tr-hicon-text-center  { justify-content: center; text-align:center;}
@media screen and (max-width: 600px) {.tr-hicon-text-wrap { display:inline}}
.tr-icon-heading img { margin-right:15px;}
.tr-icon-heading.tr-hicon-left img { margin-left:15px; margin-right:0;}



.row.trib-txtimg-row { justify-content: center; margin-bottom:1rem;}
.col.trib-txtimg-icon {}
.col.trib-txtimg-content {}

/*.col.trib-fixed-width img.trib-txtimg-icon { margin-top:8px;}*/

@media screen and (max-width: 420px){  .col.trib-txtimg-content h3 { text-align:center;}  
	.col.trib-txtimg-content{ flex: 0 0 100%;}	.trib-icon_rows .islet.light.alignright.trib-extruderight.trib-ml-120px { margin-left:0;}
} 




.trib_readmore_container .trib_readmore_text {max-height: 210px; overflow:hidden;}
.trib_readmore_container .trib_readmore_text p { margin: 0 0 1em;}
.trib_readmore_container .trib_readmore_text.trib_text-readmore-collapsed {max-height: 210px;transition: max-height 0.3s ease-out;overflow: hidden; position:relative;}
.trib_readmore_container .trib_readmore_text.trib_text-readmore-collapsed:after { content: ""; display: inline-block;pointer-events: none; 
	position: absolute;left: 0;right: 0;bottom: 0; height: 80px; width: 100%; 
	background: -moz-linear-gradient(top,  rgba(255,255,255,0.1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0.1) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,0.1) 0%,rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#ffffff',GradientType=0 );
}
.trib_readmore_container .trib_text-expand-button {padding: 0 0 1rem;text-align: center;color: #aeafd3; position: relative; font-weight:600}
.trib_readmore_container .trib_text-expand-button:hover {color: #d90909;}
.trib_readmore_container .trib_text-expand-button span {cursor: pointer;}
.trib_readmore_container .trib_text-readmore-expanded {max-height: 2000px;transition: max-height 0.3s ease-in;}
.trib_readmore_container .trib_text-readmore-expanded.trib_readmore_text:after {background: none;}

p.h4h-readmore { color: #24B67A; margin: 1rem 0 2rem 0; }
p.h4h-readmore:hover { color: #006666; text-decoration:underline; }

.trib-expander-sections h3,
h3.trib-expander-toggle { font-size: 1.3rem; margin-top: 2rem; margin-bottom:1rem; font-weight:normal; display: flex; align-items: center;}
.trib-expander-sections h2,
h2.trib-expander-toggle { font-size: 1.4rem; }
.trib-expander-toggle:hover { color: #d90909; text-decoration:underline; }
.trib-expander-toggle .dashicons,
.trib-expander-toggle .dashicons:hover { text-decoration:none;}
.trib-expander-toggle .dashicons { padding-left:6px;}
.trib-expander-content { background:#f7f8f9; padding:1.5rem 2rem;}
.trib-expander-sections h3.trib-expander-end { display:none;}
