/*------------------------------------------------------------------------------------
	B2B News Online grid + default selector library	
	_(:3 J L )_
	https://www.publicsectortenders.co.uk
/*============================ site container ============================*/
body	{margin: 0; padding: 0;}
.container	        {margin-left: auto; margin-right: auto; width: 1680px /*1280px*/;}
.container-width	{margin-left: auto; margin-right: auto;	width: 100%;}
/*------------------------------ flex width ------------------------------*/
.grid33     {box-sizing: border-box; flex-grow: 1; width: 33%;}
.grid-1     {width: 3.20%;}
.grid-2     {width: 7.41%;}
.grid-3     {width: 11.62%;}
.grid-4     {width: 15.79%;}
.grid-5     {width: 20.04%;}
.grid-6     {width: 24.24%;}
.grid-7     {width: 28.45%;}
.grid-8     {width: 32.66%;}
.grid-9     {width: 36.87%;}
.grid-10    {width: 41.08%;}
.grid-11    {width: 45.28%;}
.grid-12    {width: 49.49%;}
.grid-13    {width: 53.69%;}
.grid-14    {width: 57.91%;}
.grid-15    {width: 62.12%;}
.grid-16    {width: 66.33%;}
.grid-17    {width: 70.54%;}
.grid-18    {width: 74.74%;}
.grid-19    {width: 78.94%;}
.grid-20    {width: 83.14%;}
.grid-21    {width: 87.34%;}
.grid-22    {width: 91.60%;}

.end        {margin-right: 0;}

.push-025   {margin-left: 1.01%;}
.push-05    {margin-left: 2.10%;}
.push-1     {margin-left: 4.20%;}
.push-100   {margin-left: 5.61%;}
.push-105   {margin-left: 6.30%;}
.push-2     {margin-left: 8.41%;}
.push-3     {margin-left: 12.60%;}
.push-4     {margin-left: 16.80%;}
.push-5     {margin-left: 21%;}
.push-6     {margin-left: 25.2%;}

.add-1      {padding-right: 4.20%;}

/*============================ start global settings ============================*/
html		{font-size: 100%; /* 1rem ~= 16px */}
body		{font-size: 1rem;}
header, section, footer, aside, nav, main, article, figure {display: block;} 
img             {border: 0; height: auto; width: 100%;}
a	            {text-decoration: none; /*line-height: 0; use to remove default padding to a links if needed */}
/*  a:hover	        {text-decoration: underline;}   */
.no-float       {float: none;}
.no-spacing     {letter-spacing: normal;}
.no-list-style  {list-style-type: none; margin-left: 0;}
.no-margin      {margin: 0;}
.no-padding     {padding: 0 !important;}
.z-index        {z-index: 999;}
/*------------------------- layout -------------------------*/
.block          {display: block;}
.box-sizing     {box-sizing: border-box;}
.cell           {display: table-cell;}
.centred        {display: flex; align-items: center; justify-content: center;}
.oldcentred     {margin-left: auto; margin-right: auto; text-align: center;}
.clear		    {clear: both;}
.fixed          {position: fixed;}
.flex           {display: flex;}
.flexwrap       {display: flex; flex-wrap: wrap;}
.float-l        {float: left;}
.float-r    	{float: right;}
.hide           {display: none;}
.inline         {display: inline;}
.inline-block   {display: inline-block;}
.overflow	    {overflow: hidden;}
.relative       {position: relative;}
.same-h         {height: 100%; margin-bottom: -1000px; padding-bottom: 1020px;} /*apply to shorter adjacent column to force to be same height as taller column*/
.table          {display: table; width: auto; margin: 0 auto;}
.valign         {display: table-cell; vertical-align: middle;}
/*========================= font =========================*/
.align-r    	{text-align: right;}
.align-l		{text-align: left;}
.align-c    	{text-align: center;}
.bold	        {font-weight: bold;}
.capitalize	    {text-transform: capitalize;}
.italic	        {font-style: italic}
.justify    	{text-align: justify;}
.line-through	{text-decoration: line-through;}
.lowercase      {text-transform: lowercase;}
.not-bold       {font-weight: normal;}
.overline	    {text-decoration: overline;}
.underline	    {text-decoration: underline;}
.uppercase	    {text-transform: uppercase;}
/*------------------------- borders -------------------------*/
.border-radius	    {border-radius: 5px;}
.border-radius-m    {border-radius: 25%;}
.border-b       {border-bottom-width: 1px;}
.border-l       {border-left-width: 1px;}
.border-r       {border-right-width: 1px;}
.border-t       {border-top-width: 1px;}
.circle         {border-radius: 50%;}
.dashed-b       {border-style: dashed;}
.dotted-b   	{border-style: dotted;}	
.solid-b        {border-style: solid;}
.no-border		{border: 0;}
/*==================== margin ===================*/
.margin-tab-3       {margin-bottom: 0.1875rem; margin-top: 0.1875rem;}
.margin-tab-5       {margin-bottom: 0.3125rem; margin-top: 0.3125rem;}
.margin-tab-10      {margin-bottom: 0.625rem; margin-top: 0.625rem;}
.margin-tab-15      {margin-bottom: 0.9375rem; margin-top: 0.9375rem;}
.margin-tab-20      {margin-bottom: 1.25rem; margin-top: 1.25rem;}
.margin-tab-25      {margin-bottom: 1.5625rem; margin-top: 1.5625rem;}
.margin-tab-30      {margin-bottom: 1.875rem; margin-top: 1.875rem;}
.margin-tab-40      {margin-bottom: 2.5rem; margin-top: 2.5rem;}
.margin-tab-50      {margin-bottom: 3.125rem; margin-top: 3.125rem;}
.margin-tab-100     {margin-bottom: 6.25rem; margin-top: 6.25rem;}
.margin-tab-1r      {margin-bottom: 1rem; margin-top: 1rem;}
.margin-tab-2r      {margin-bottom: 2rem; margin-top: 2rem;}
.margin-tab-3r      {margin-bottom: 3rem; margin-top: 3rem;}
.margin-tab-4r      {margin-bottom: 4rem; margin-top: 4rem;}
.margin-tab-5r      {margin-bottom: 5rem; margin-top: 5rem;}
.margin-tab-7r      {margin-bottom: 7rem; margin-top: 7rem;}
.margin-tab-8r      {margin-bottom: 8rem; margin-top: 8rem;}
.margin-tab-10r     {margin-bottom: 10rem; margin-top: 10rem;}

.margin-b-3         {margin-bottom: 0.1875rem;}
.margin-b-5         {margin-bottom: 0.3125rem;}
.margin-b-10        {margin-bottom: 0.625rem;}
.margin-b-15        {margin-bottom: 0.9375rem;}
.margin-b-20        {margin-bottom: 1.25rem;}
.margin-b-25        {margin-bottom: 1.5625rem;}
.margin-b-30        {margin-bottom: 1.875rem;}
.margin-b-40        {margin-bottom: 2.5rem;}
.margin-b-50        {margin-bottom: 3.125rem;}
.margin-b-100       {margin-bottom: 6.25rem;}
.margin-b-1r        {margin-bottom: 1rem;}
.margin-b-2r        {margin-bottom: 2rem;}
.margin-b-3r        {margin-bottom: 3rem;}
.margin-b-4r        {margin-bottom: 4rem;}
.margin-b-5r        {margin-bottom: 5rem;}
.margin-b-7r        {margin-bottom: 7rem;}
.margin-b-8r        {margin-bottom: 8rem;}
.margin-b-10r       {margin-bottom: 10rem;}

.margin-t-3         {margin-top: 0.1875rem;}
.margin-t-5         {margin-top: 0.3125rem;}
.margin-t-10        {margin-top: 0.625rem;}
.margin-t-15        {margin-top: 0.9375rem;}
.margin-t-20        {margin-top: 1.25rem;}
.margin-t-25        {margin-top: 1.5625rem;}
.margin-t-30        {margin-top: 1.875rem;}
.margin-t-40        {margin-top: 2.5rem;}
.margin-t-50        {margin-top: 3.125rem;}
.margin-t-100       {margin-top: 6.25rem;}
.margin-t-1r        {margin-top: 1rem;}
.margin-t-2r        {margin-top: 2rem;}
.margin-t-3r        {margin-top: 3rem;}
.margin-t-4r        {margin-top: 4rem;}
.margin-t-5r        {margin-top: 5rem;}
.margin-t-7r        {margin-top: 7rem;}
.margin-t-8r        {margin-top: 8rem;}
.margin-t-10r       {margin-top: 10rem;}

/*------------------------- padding -------------------------*/
.padding-3          {padding: 0.1875rem;}
.padding-5          {padding: 0.3125rem;}
.padding-10         {padding: 0.625rem;}
.padding-15         {padding: 0.9375rem;}
.padding-20         {padding: 1.25rem;}
.padding-25         {padding: 1.5625rem;}
.padding-30         {padding: 1.875rem;}
.padding-40         {padding: 2.5rem;}
.padding-50         {padding: 3.125rem;}
.padding-100        {padding: 6.25rem;}
.padding-1r         {padding: 1rem;}
.padding-2r         {padding: 2rem;}
.padding-3r         {padding: 3rem;}
.padding-4r         {padding: 4rem;}
.padding-5r         {padding: 5rem;}

.padding-tab-3      {padding-bottom: 0.1875rem; padding-top: 0.1875rem;}
.padding-tab-5      {padding-bottom: 0.3125rem; padding-top: 0.3125rem;}
.padding-tab-10     {padding-bottom: 0.625rem; padding-top: 0.625rem;}
.padding-tab-15     {padding-bottom: 0.9375rem; padding-top: 0.9375rem;}
.padding-tab-20     {padding-bottom: 1.25rem; padding-top: 1.25rem;}
.padding-tab-25     {padding-bottom: 1.5625rem; padding-top: 1.5625rem;}
.padding-tab-30     {padding-bottom: 1.875rem; padding-top: 1.875rem;}
.padding-tab-40     {padding-bottom: 2.5rem; padding-top: 2.5rem;}
.padding-tab-50     {padding-bottom: 3.125rem; padding-top: 3.125rem;}
.padding-tab-100    {padding-bottom: 6.25rem; padding-top: 6.25rem;}
.padding-tab-1r     {padding-bottom: 1rem; padding-top: 1rem;}
.padding-tab-2r     {padding-bottom: 2rem; padding-top: 2rem;}
.padding-tab-3r     {padding-bottom: 3rem; padding-top: 3rem;}
.padding-tab-4r     {padding-bottom: 4rem; padding-top: 4rem;}
.padding-tab-5r     {padding-bottom: 5rem; padding-top: 5rem;}
.padding-tab-6r     {padding-bottom: 6rem; padding-top: 6rem;}
.padding-tab-7r     {padding-bottom: 7rem; padding-top: 7rem;}
.padding-tab-8r     {padding-bottom: 8rem; padding-top: 8rem;}
.padding-tab-10r    {padding-bottom: 10rem; padding-top: 10rem;}

.padding-b-3        {padding-bottom: 0.1875rem;}
.padding-b-5        {padding-bottom: 0.3125rem;}
.padding-b-10       {padding-bottom: 0.625rem;}
.padding-b-15       {padding-bottom: 0.9375rem;}
.padding-b-20       {padding-bottom: 1.25rem;}
.padding-b-25       {padding-bottom: 1.5625rem;}
.padding-b-30       {padding-bottom: 1.875rem;}
.padding-b-40       {padding-bottom: 2.5rem;}
.padding-b-50       {padding-bottom: 3.125rem;}
.padding-b-100      {padding-bottom: 6.25rem;}
.padding-b-1r       {padding-bottom: 1rem;}
.padding-b-2r       {padding-bottom: 2rem;}
.padding-b-3r       {padding-bottom: 3rem;}
.padding-b-4r       {padding-bottom: 4rem;}
.padding-b-5r       {padding-bottom: 5rem;}
.padding-b-6r       {padding-bottom: 6rem;}
.padding-b-7r       {padding-bottom: 7rem;}
.padding-b-8r       {padding-bottom: 8rem;}
.padding-b-10r      {padding-bottom: 10rem;}

.padding-t-3        {padding-top: 0.1875rem;}
.padding-t-5        {padding-top: 0.3125rem;}
.padding-t-10       {padding-top: 0.625rem;}
.padding-t-15       {padding-top: 0.9375rem;}
.padding-t-20       {padding-top: 1.25rem;}
.padding-t-25       {padding-top: 1.5625rem;}
.padding-t-30       {padding-top: 1.875rem;}
.padding-t-40       {padding-top: 2.5rem;}
.padding-t-50       {padding-top: 3.125rem;}
.padding-t-100      {padding-top: 6.25rem;}
.padding-t-1r       {padding-top: 1rem;}
.padding-t-2r       {padding-top: 2rem;}
.padding-t-3r       {padding-top: 3rem;}
.padding-t-4r       {padding-top: 4rem;}
.padding-t-5r       {padding-top: 5rem;}
.padding-t-6r       {padding-top: 6rem;}
.padding-t-7r       {padding-top: 7rem;}
.padding-t-8r       {padding-top: 8rem;}
.padding-t-10r      {padding-top: 10rem;}
/*------------------------ global mobile settings (for portrait & landscape) ------------------------*/
@media screen and (min-width: 320px) and (max-width: 767px) {
.container          {margin-left: auto; margin-right: auto; padding: 0 2.105%; width: 95.79%;}
.container-width    {margin-left: auto; margin-right: auto; padding: 0; width: 100%;}
.grid33         {box-sizing: border-box; flex-grow: 1; width: 100%;}
.mgrid-12       {float: none; margin: 0 auto; padding-left: 0; padding-right: 0; width: 50%;}
.mgrid-24       {float: none; margin: 0 0 2rem; padding-left: 0; padding-right: 0; width: 100%;}
.mhide          {display: none !important;}
.flex           {display: block;}

.margin-b-20, .margin-b-30 {margin-bottom: 2rem;}
.margin-b-40, .margin-b-50, .margin-b-100, .margin-b-3r, .margin-b-4r, .margin-b-5r, .margin-b-7r, .margin-b-8r, .margin-b-10r  {margin-bottom: 2.5rem;}
.margin-t-20, .margin-t-30 {margin-top: 2rem;}
.margin-t-40, .margin-t-50, .margin-t-100, .margin-t-3r, .margin-t-4r, .margin-t-5r, .margin-t-7r, .margin-t-8r, .margin-t-10r  {margin-top: 2.5rem;}
.margin-tab-20, .margin-tab-30 {margin-bottom: 2rem; margin-top: 2rem;}
.margin-tab-40,.margin-tab-50,.margin-tab-100,.margin-tab-3r,.margin-tab-4r,.margin-tab-5r, .margin-tab-7r, .margin-tab-8r, .margin-tab-10r  {margin-bottom: 2.5rem; margin-top: 2.5rem;}

.padding-20, .padding-30  {padding: 2rem;}
.padding-40, .padding-50, .padding-100, .padding-3r, .padding-4r, .padding-5r {padding: 2.5rem;}
.padding-b-20, .padding-b-30  {padding-bottom: 2rem;}
.padding-b-40, .padding-b-50, .padding-b-100, .padding-b-3r, .padding-b-4r, .padding-b-5r, .padding-b-6r, .padding-b-7r, .padding-b-8r, .padding-b-10r {padding-bottom: 2.5rem;}
.padding-t-20, .padding-t-30  {padding-top: 2rem;}
.padding-t-40, .padding-t-50, .padding-t-100, .padding-t-3r, .padding-t-4r, .padding-t-5r, .padding-t-6r, .padding-t-7r, .padding-t-8r, .padding-t-10r {padding-top: 2.5rem;}
.padding-tab-20, .padding-tab-30  {padding-bottom: 2rem; padding-top: 2rem;}
.padding-tab-40,.padding-tab-50,.padding-tab-100,.padding-tab-10r,.padding-tab-3r,.padding-tab-40,.padding-tab-4r, .padding-tab-50,.padding-tab-5r,.padding-tab-7r,
.padding-tab-8r, .padding-tab-10r {padding-bottom: 2.5rem; padding-top: 2.5rem;}
}
/*----------------------- mobile portrait ----------------------*/	
@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: portrait)  {
.mphide {display: none;}
}
/*----------------------- end mobile portrait ----------------------*/	

/*========================= mobile landscape =========================*/
@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape)  {
.mlhide {display: none;}
}

/*========================= tablet =========================*/
@media screen and (min-width: 768px) and (max-width: 1023px)  {
.container          {margin-left: auto; margin-right: auto; padding: 0 2.105%; width: 95.79%;}
.container-width    {margin-left: auto; margin-right: auto; padding: 0; width: 100%;}
.tgrid-12           {float: none; margin: 0 auto; padding-left: 0; padding-right: 0; width: 50%;}
.tgrid-12:nth-of-type(2n+0)   {margin-right: 0;}
.tgrid-24           {float: none; margin: 0 0 2rem; padding-left: 0; padding-right: 0; width: 100%;}
.thide              {display: none !important;}
.flex               {display: block;}

.margin-b-20, .margin-b-30 {margin-bottom: 2rem;}
.margin-b-40, .margin-b-50, .margin-b-100, .margin-b-3r, .margin-b-4r, .margin-b-5r  {margin-bottom: 3rem;}
.margin-t-20, .margin-t-30 {margin-top: 2rem;}
.margin-t-40, .margin-t-50, .margin-t-100, .margin-t-3r, .margin-t-4r, .margin-t-5r, .margin-t-6r, .margin-t-7r  {margin-top: 3rem;}
.margin-tab-20, .margin-tab-30 {margin-bottom: 2rem; margin-top: 2rem;}
.margin-tab-40,.margin-tab-50,.margin-tab-100,.margin-tab-3r,.margin-tab-4r,.margin-tab-5r  {margin-bottom: 3rem; margin-top: 3rem;}

.padding-20, .padding-30  {padding: 2rem;}
.padding-40, .padding-50, .padding-100, .padding-3r, .padding-4r, .padding-5r {padding: 3rem;}
.padding-b-20, .padding-b-30  {padding-bottom: 2rem;}
.padding-b-40, .padding-b-50, .padding-b-100, .padding-b-3r, .padding-b-4r, .padding-b-5r {padding-bottom: 3rem;}
.padding-t-20, .padding-t-30  {padding-top: 2rem;}
.padding-t-40, .padding-t-50, .padding-t-100, .padding-t-3r, .padding-t-4r, .padding-t-5r, .padding-t-6r, .padding-t-7r {padding-top: 3rem;}
.padding-tab-20, .padding-tab-30  {padding-bottom: 2rem; padding-top: 2rem;}
.padding-tab-40,.padding-tab-50,.padding-tab-100,.padding-tab-10r,.padding-tab-3r,.padding-tab-40,.padding-tab-4r, .padding-tab-50, .padding-tab-5r, .padding-tab-7r, 
.padding-tab-8r, .padding-tab-10r {padding-bottom: 3rem; padding-top: 3rem;}
}
/*------------------------ tablet portrait ------------------------*/
@media screen and (min-width: 768px) and (max-width: 1023px) and (orientation: portrait)  {
.container, .container-full	{padding-left: 2.1%; padding-right: 2.1%; width: 95.79% ;}
.tphide {display: none;}
}
/*========================= tablet landscape =========================*/
@media screen and (min-width: 768px) and (max-width: 1023px) and (orientation: landscape)  {
.container, .container-full	{box-sizing: border-box; margin-left: auto; margin-right: auto; padding-left: 2.1%; padding-right: 2.1%; width: 97.9%;}
.tlhide {display: none;}
}
/*------------------------ larger displays ------------------------*/
@media screen and (min-width: 1024px) {
.dhide          {display: none;}
}
@media screen and (min-width: 1024px) and (max-width: 1199px) {
.container      {margin-left: auto; margin-right: auto; min-width: 960px; width: 95.8%;}
}
@media screen and (min-width: 1200px) and (max-width: 1439px) {
.container	    {margin-left: auto; margin-right: auto; min-width: 1168px; width: 95.8%;}	
}
@media screen and (min-width: 1440px) and (max-width: 1679px) {
.container	    {margin-left: auto; margin-right: auto; width: 1280px;}		
}
@media screen and (min-width: 1680px) and (max-width: 1919px) {	
.container  	{margin-left: auto; margin-right: auto; width: 1680px /*1280px*/;}		
}
@media screen and (min-width: 1920px) and (max-width: 2559px) {	
.container  	{margin-left: auto; margin-right: auto; width: 1680px /*1280px*/;}		
}
@media screen and (min-width: 2560px) {
.container      {margin-left: auto; margin-right: auto; width: 1680px /*1440px*/;}
}